불로구

객체지향이란? - solid 원칙 (3) 본문

프로그래밍/JAVA

객체지향이란? - solid 원칙 (3)

맹이맹이 2021. 4. 27. 11:20
반응형

인터페이스 분리 원칙

  • 필요하지 않는 요소를 구현하도록 강요하거나 사용하지 않는 요소에 의존하도록 만들면 안된다.
  • 어떤 클래스가 다른 클래스에 종속될 때에는 가능한 최소한의 인터페이스만 사용
  • 인터페이스의 크기를 최소화
  • 한 덩어리의 복잡한 인터페이스를 목적에 따라 구분하여 나눈다 ( 상속 , 위임을 통해)
  • 기존
phone{
  call()
  sms()
  alarm()
}
  • 변경
Call{
  call()
}
Sms{
  sms()
}
Alarm{
  alarm()
}

의존성 역전 원칙

  • 상위 모듈이 하위 모듈에 종속성을 가져서는 안되며, 양쪽 모두 추상화에 의존해야 한다.
  • 즉, 하위 레벨 모듈의 변경이 상위 레벨 모듈의 변경을 요구하는 구조적 문제에서 발생하는 위계르 끊는 것
  • 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고 받음으로써 관계를 최대한 느슨하게 만든다
  • 구성에 대한 설정이 편리해지고 모듈을 테스트하기 쉽다.
  • 적용을 위해 추상적인 계층을 만든다.

 

반응형
Comments