반응형
안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
객체 지향의 상속은 다음의 조건을 만족해야 합니다.
하위클래스 is a kind of 상위클래스 - 하위 분류는 상위 분류의 한 종류다.
구현 클래스 is able to 인터페이스 - 구현 분류는 인터페이스 할 수 있어야 한다.
위 두 개의 문장대로 구현된 프로그램이면 이미 리스코프 치환 원칙을 잘 지키고 있다고 할 수 있어요.
이 그림과 같이 계층도/조직도는 리스코프 치환 원칙을 위반한 사례이고,
이 그림과 같이 분류도는 리스코프 치환 원칙을 적용한 사례라고 할 수 있습니다.
예를 들어
아버지 춘향이 = new 딸() ; 이라고 한다면 딸을 하나 낳아서 이름을 춘향이라고 한 것까지는 괜찮은데
아버지의 역할을 맡기고 있죠? 말이 안되죠?
하지만
동물 뽀로로 = new 펭귄(); 이라고 하면 펭귄의 이름을 뽀로로라 하고 동물의 역할을 맡기고 있죠.
논리적으로 흠이 없죠?
결국 리스코프 치환 원칙은 객체 지향의 상속이라는 특성을 올바르게 활용하면 자연스럽게 얻게 되는 것입니다.
다음 포스팅에서는 ISP 인터페이스 분리 원칙에 대해 공부하겠습니다.
반응형
'개발 etc' 카테고리의 다른 글
JAVA 자바 디자인 패턴 (0) | 2017.03.12 |
---|---|
JAVA 자바 객체 지향 설계 5원칙 SOLID(5) - DIP 의존 역전 원칙 (0) | 2017.03.12 |
JAVA 자바 객체 지향 설계 5원칙 SOLID ISP 인터페이스 분리 원칙 (0) | 2017.03.12 |
JAVA 자바 객체 지향 설계 5원칙 SOLID OCP 개방 폐쇄 원칙 (0) | 2017.03.12 |
JAVA 자바 객체 지향 설계 5원칙 SOLID - SRP 단일 책임 원칙 (0) | 2017.03.12 |