본문 바로가기

공부 기록/영상 후기

[10분 테코톡] 클레이의 상속과 조합

https://youtu.be/U4OSS4jJ9ns

상속 : 기존에 정의되어 있는 클래스의 필드와 메서드를 물려받아 새로운 클래스를 생성하는 기법

- 중복 코드 제거와 기능 확장을 쉽게 할 수 있다.

- 클래스들의 계층적인 구조를 만들 수 있다.

상속의 문제점 : 하위 클래스가 상위 클래스의 구현에 의존하기 때문에 변경에 취약, 상위 클래스의 모든 public 메서드가 하위 클래스에도 반드시 노출

  

조합 : 전체를 표현하는 클래스가 부분을 표현하는 객체를 포함해서 부분 객체의 코드를 재사용하는 방법

조합의 장점 :

- 부분 객체의 내부 구현이 공개되지 않는다.

- 메서드를 호출하는 방식으로 퍼블릭 인터페이스에 의존해서 부분 객체의 내부 구현이 변경되어도 비교적 안전하다.

- 부분 객체의 모든 퍼블릭 메서드를 공개하지 않아도 된다.

방법 : 조합하고 싶은 클래스의 인스턴스를 새로운 클래스의 private 필드로 참조 -> 인스턴스의 메서드를 호출하는 방식으로 구현

  

단순한 코드 재사용 => 조합

동일하게 행동하는 인스턴스를 그룹화(다형성 구현) => 상속