OOP 에 대해서 고민해 보기

한천희·2020년 4월 16일
0

iOS & Swift

목록 보기
5/6

OOP 의 핵심적인 개념은 abstraction 이다.

  • inheritance 역시 abstraction 관점에서 봐야 됨.
  • inheritance 를 기능의 확장으로 볼 것이 아니라 추상의 구체화 도구로 봐야 됨.


SOLID

Single Responsibility Principle (단일책임 원칙)
  • 하나의 클래스는 하나의 책임만 가져야 한다.
Open / Closed Principle (개발-폐쇄 원칙)
  • 코드는 확장에는 열려있으나 변경에는 닫혀 있어야 한다.
Liskov Substitution Principle (리스코프 치환 원칙)
  • 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 instance로 바꿀 수 있어야 한다.
Interface Segregation Principle (인터페이스 분리 원칙)
  • 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나 보다 낫다.
Dependency Inversion Principle (의존관계 역전 원칙)
  • 추상화에 의존해야지 구체화에 의존하면 안된다.

reference
https://youtu.be/dhK0ZQes4Do
https://youtu.be/O8WHX8zmECM

0개의 댓글