개발 이론

객체지향 간단 정리

중곰 2021. 2. 4. 10:28

회사에서 혼자 개발을 하다보니, 나의 코드는 내 마음대로....

나의 코드는 어디로? 가는건가? 의문점이 발생하게 되었다....

그래서 나의 코드를 수정하기 위해서 처음 부터 다시 출발하고자 이 글을 시작하면서, 

나의 코드의 질을 높이고자 하기 위해 객체지향 5대 원칙을 간단히 적어본다.

 

  • 객체지향 5대 원칙
  1. SRP (단일 책임 원칙)
  • 클래스, 함수 등 은 단 하나의 책임(기능)을 가진다.
  1. OCP (개방-패쇄원칙)
  • 기존의 코드 변경하지 않고 기능을 수정하거나 추가할 수 있도록 설계
  • 자주 사용되는 문법 인터페이스 (Interface)
  1. LSP (리스코프 치환 원칙)
  • 자식 클래스는 부모클래스에서 가능한 행위를 수행할 수 있어야 한다.
  1. DIP (의존 역전 원칙)
  • 의존 관계를 맺을 때, 변화하기 쉬운것 보단 변화하기 어려운것에 의존해야 한다는 원칙
  • 변화 쉬운것 : 구체적 (구체화된 클래스)
  • 변화 어려운것 : 추상적 (추상클래스나 인터페이스)
  • 의존 관계를 맺을때, 구체적인 클래스보다 인터페이스나 추상 클래스와 관계를 맺음(의존성 주임)
  1. ISP (인터페이스 분리 원칙)
  • 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야한다.
  • 하나의 일반적인 인터페이스보다는, 여러개의 구체적인 인터페이스 낫다.
  • 자신이 사용하지 않는 기능(인터페이스)에는 영향을 받지 말아야 한다.
  • 서로에게 영향을 받지 않도록 설계 필요
  • 인터페이스 분리 원칙을 통해 시스템의 내부 의존성을 약화시켜 리펙토링, 수정, 재배포를 쉽게 할 수 있다.
반응형