정사각형 직사각형 문제 : A is a B 관계인데 상속을 쓰기에는..
상속과 구성은 많이 들어봤을 법한 주제입니다. A is a B일 때 상속을 쓰라고 합니다. 예를 들자면, 개와 동물은 그러한 관계의 한 예입니다. 몇 레퍼런스를 더 찾아보던 중에, 이 질문글을 보게 되었습니다. 그리고 좋은 답변글들을 보면서, 정사각형과 직사각형, 그리고 타원과 원도 A is a B의 관계에 있다는 것을 알게 되었습니다. 그리고 이 문제와 리스코프 원칙과 관련이 있다는 것도 알게 되었습니다. 아래 예제를 보겠습니다. 정사각형은 직사각형을 상속합니다. square 생성자는 부모 rect의 생성자를 호출하는데, 넘기는 변수는 h, h입니다. 높이와 너비가 같기 때문입니다. rect 클래스입니다. 여기에는 getArea 메서드만 있습니다. 이 프로그램의 출력 결과는 25입니다. 그런데, 사실 ..
디자인패턴
2020. 11. 2. 03:08
최근댓글