객체지향 개념 다지기

배세훈·2022년 9월 4일
0

객체지향

목록 보기
2/2

객체지향 4가지 특징

  1. 추상화 (Abstraction)
  2. 다형성 (Polymorphism)
  3. 캡슐화 (Encapsulation)
  4. 상속 (Inheritance)

객체지향의 5가지 설계 원칙 (SOLID)

  1. SRP: Single Responsibility Principle (단일 책임의 원칙)
  • 하나의 책임을 가진다
  1. OCP: Open/Closed Principle (개방 폐쇄의 원칙)
  • 확장에는 열려있고 변경에는 닫혀있다. 기존 코드를 변경하지 않고 기능을 추가할 수 있어야 한다.
  1. LSP: Liskov's Substitution Principle (리스코프 치환의 원칙)
  • 상위 타입의 객체를 하위타입의 객체로 치환해도 기능동작에 문제가 없어야 한다.
  1. ISP: Interface Segregation Principle (인터페이스 분리의 원칙)
  • 많은 기능을 가진 인터페이스를 작은 단위로 분리시킴으로써 클라이언트에게 필요한 인터페이스만 구현하도록 한다.
  1. DIP : Dependency Inversion Principle (의존성 역전의 원칙)
  • 의존관계를 맺을때 변경이 거의 일어나지 않는 곳에 의존하라.

객체지향 패러다임

1. 객체지향

  • 적절한 객체에게 적절한 책임을 할당하여 서로 메시지를 주고 받으며 협력하도록 하는 것
  • 점점 증가하는 SW 복잡도를 낮추기 위해 객체지향 패러다임 대두
  • 클래스가 아닌 객체에 초점을 맞춰야 한다.
  • 객체들에게 얼마나 적절한 역할과 책임을 할당하는지 생각해야 한다.

2. 객체지향 설계 및 구현

  1. 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민
  2. 객체들 간의 관계를 고민
  3. 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기
  4. 협력을 설계
  5. 객체들을 포괄하는 타입에 적절한 책임을 할당
  6. 구현하기
profile
성장형 인간

0개의 댓글