002. 객체지향 기법의 기본 원칙 / 캡슐화, 정보 은닉, 추상성, 상속성, 다형성
1) 캡슐화
- 데이터와 데이터를 처리하는 함수를 하나로 묶는 것
- 캡슐화 된 객체의 세부 내용이 외부에 은폐(정보 은닉)되어, 변경 발생 시 파급효과 적음
- 재사용 용이
- 인터페이스가 단순해지고 객체 간 결합도 낮아짐
2) 정보 은닉
- 다른 객체에게 자신의 정보를 숨기고 자신만의 연산을 통해 접근을 허용하는 것
- 각 객체의 수정이 다른 객체에게 주는 영향을 최소화하는 기술
- 외부 객체가 직접 접근하여 사용하거나 변경하지 못해, 유지보수와 소프트웨어 확장 시 오류 최소화
3) 추상화
- 불필요한 부분을 생략, 객체 속성 중 가장 중요한 것에 중점 두어 개략하는 것. "모델화"
- 완전한 시스템 구축 전 그 시스템과 유사한 모델을 만들어 테스트 가능
- 최소의 비용으로 실제상황에 대처 가능. 시스템 구조를 가시적으로 볼 수 있음
4) 상속성
- 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 하위 클래스는 속성과 연산의 재정의 없이 상위클래스의 속성과 연산을 그대로 사용 가능
+ 새로운 속성과 연산 첨가하여 사용 가능
- 상위클래스 속성과 연산을 하위클래스가 공유할 수 있기 때문에 소프트웨어 재사용 증대
- 다중 상속성 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산 상속받는 것
5) 다형성
메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
같은 타입이지만 실행결과가 다양한 객체를 대입할 수 있는 성질
- 객체를 부품화 시킬 수 있음
- 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함
하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들은 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것
'[자격증] 정보처리기사' 카테고리의 다른 글
[정보처리기사][실기]2과목 02 데이터베이스 관리 시스템 (0) | 2019.11.12 |
---|---|
[정보처리기사][실기]2과목 01 데이터베이스 개념 (0) | 2019.11.12 |
[정보처리기사][실기]1과목 04 아키텍처 스타일 (0) | 2019.10.27 |
[정보처리기사][실기]1과목 03 객체지향 기법의 생명 주기 (0) | 2019.10.27 |
[정보처리기사][실기]1과목 01 객체지향 기법의 개요 (0) | 2019.10.27 |