구성

인철·2023년 10월 13일
0

Java

목록 보기
30/52

구성

구성

  • 한 클래스가 다른 클래스의 객체를 포함하는 방식으로 관계를 형성
  • has-a 관계

특징

  • 유연성 : 클래스 간의 강한 결합을 피할 수 있어 유연한 설계와 유지 관리가 가능
  • 코드 재사용성 : 다른 클래스의 인스턴스를 포함하여 새로운 클래스를 만들 수 있기 때문에 코드의 재사용성이 높다
  • 객체 간의 독립성 : 두 클래스가 독립적으로 존재 가능, 다른 클래스의 미치는 영향을 최소화

사용되는 상황

  • 복합 객체 생성 : 객체가 다른 객체를 포함하는 경우 구성을 사용하여 객체 생성 가능
  • 클래스 간의 관계 표현 : 클래스 간의 has-a관계를 표현할 때 사용
  • 복잡한 기능 구현 : 작은 단위로 분리하여 코드 구성 가능

주의할 점

  • 의존성 관리 : 의존성을 관리하여 객체 간의 순환 참조나 복잡한 의존성 방지
  • 객체 소유 관리 : 포함된 객체의 생명주기를 주인 객체와 함께 관리하여 객체의 메모리 누수를 방지
  • 너무 많은 중첩 : 과도한 구성관계는 코드의 복잡성 증가, 조절을 해야함
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글