002. 객체지향 기법의 기본 원칙 / 캡슐화, 정보 은닉, 추상성, 상속성, 다형성

 

1) 캡슐화

- 데이터와 데이터를 처리하는 함수를 하나로 묶는 것

- 캡슐화 된 객체의 세부 내용이 외부에 은폐(정보 은닉)되어, 변경 발생 시 파급효과 적음

- 재사용 용이

- 인터페이스가 단순해지고 객체 간 결합도 낮아짐

 

2) 정보 은닉

- 다른 객체에게 자신의 정보를 숨기고 자신만의 연산을 통해 접근을 허용하는 것

- 각 객체의 수정이 다른 객체에게 주는 영향을 최소화하는 기술

- 외부 객체가 직접 접근하여 사용하거나 변경하지 못해, 유지보수와 소프트웨어 확장 시 오류 최소화

 

3) 추상화

- 불필요한 부분을 생략, 객체 속성 중 가장 중요한 것에 중점 두어 개략하는 것. "모델화"

- 완전한 시스템 구축 전 그 시스템과 유사한 모델을 만들어 테스트 가능

- 최소의 비용으로 실제상황에 대처 가능. 시스템 구조를 가시적으로 볼 수 있음

 

4) 상속성

- 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것

- 하위 클래스는 속성과 연산의 재정의 없이 상위클래스의 속성과 연산을 그대로 사용 가능

+ 새로운 속성과 연산 첨가하여 사용 가능

- 상위클래스 속성과 연산을 하위클래스가 공유할 수 있기 때문에 소프트웨어 재사용 증대

- 다중 상속성 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산 상속받는 것

 

5) 다형성

메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력

같은 타입이지만 실행결과가 다양한 객체를 대입할 수 있는 성질

- 객체를 부품화 시킬 수 있음

- 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함

하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들은 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것

+ Recent posts