728x90
반응형
객체지향프로그래밍(Object Oriented Programming)의 특성은 크게 추상화, 캡슐화, 상속, 다형성이 있음
=> 루틴을 하나의 "독립된 객체"로 바라보는 시선
=> 기존에 만들었던 내용을 쉽게 상속, 다형성 등을 이용해 재사용 가능
- 추상화(Abstraction)
- 추상화를 통해서 Class를 만들어 놓고, 상세한 부분들을 채워나가는 것
- 공통의 속성이나 기능을 묶어 이름을 붙이는 것
- 불필요한 부분을 무시하고 필요하고 공통점만을 다루어 현실의 복잡성을 극복하고 목적에만 집중
- 캡슐화(Encapsulation)
- 객체의 내용 중 숨기고 싶은 부분은 외부에서 접근할 수 없다.(정보은닉 기능 => 접근제어)
- 객체 스스로가 자신의 상태를 책임
- 데이터 캡슐화 - 객체는 상태(멤버변수)와 행동(메소드)을 하나의 단위로 묶는 자율적 실체
- 은닉화 - 외부에서 객체의 상태를 마음대로 변경 불가
- 상속(Inheritance)
- Class의 멤버와 함수를 다른 Class에 물려주거나 물려받는 것을 말한다.
- 코드의 재사용을 증대(같은 기능 또 구현 x)
- 폭넓게 사용 가능(상속 받은 함수의 내용을 추가적으로 데이터와 함수 내용을 변경 가능)
- 부모 클래스의 속성과 기능을 상속받아 동일하게 사용
- 다형성(Polymorphism)
- 다양한형태로 표현이 가능 (한 타입의 참조변수로 여러 타입의 객체를 참조)
- Overloading, Overriding
- 동일 요청에 대해 서로 다른 방식으로 응답할 수 있도록 만드는 것
728x90
반응형
'그 외 ... (정리해야함) > 그 외' 카테고리의 다른 글
Base64 인코딩 (0) | 2018.09.11 |
---|---|
블록 암호 운용 방식(block cipher modes of operation) (0) | 2018.09.10 |
스트림 암호화(stream cipher)와 블록 암호화(block cipher) (0) | 2018.09.10 |
암호화 알고리즘 종류 (1) | 2018.09.10 |
인증서(X.509)에 대해 알아보기 (0) | 2018.06.15 |