상속보단 조립

이 글과 하위 글들은 [객체 지향 프로그래밍 입문]에 관한 내용입니다. 최범균님의 인프런의 강의를 보며 정리한 내용으로 문제가 될시 삭제하겠습니다.

상속을 통한 기능 재사용시 단점

  • 상위 클래스 변경이 어려워 진다.

  • 클래스가 증가한다.

  • 상속 오용을 한다.

상위 클래스 변경이 어려워 진다.

클래스가 증가한다.

상속 오용을 한다.

상속의 단점 해결 방법 -> 조립

조립(Composition)

여러 객체를 묶어서 더 복잡한 기능을 제공한다. 보통 필드로 다른 객체를 참조하는 방식으로 조립하거나 객체를 필요 시점에 생성하거나 구한다.

class FlowController {
  #encryptor: Encryptor = new Encryptor(); // 필드로 조립

  process(): void {
    // ...
    const encryptedData = this.#encryptor.encrypt(data);
    // ...
  }
}
  • 상속하기에 앞서 조립으로 풀 수 없는지 검토한다.

  • 진짜 하위 타입인 경우에만 상속을 사용한다.

Last updated