객체지향설계란 ? (SOLID 원칙)

서은경·2022년 7월 9일
0

Java

목록 보기
13/19

객체지향 설계 5대원칙

  1. SRP (Single Responsibility Principle) 단일 책임 원칙

    • 한 클래스는 하나의 책임만 가져야 한다
    • 모듈의 변경 이유는 하나여야 한다. 변경이 필요할 때 수정할 대상이 명확해지기 위해 필요하다.
  2. OCP (Open Closed Principle) 개방 폐쇄 원칙

    • 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야 한다
    • 확장 open : 요구사항 변경 시 새로운 동작을 추가하여 애플리케이션의 기능을 확장시킨다
    • 수정 close : 기존의 소스 코드 수정 없이 애플리케이션 동작의 추가 및 변경 한다.
  3. LSP (Liskov Substitution Principle) 리스코프 치환 원칙

    • 프로그램 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다
  4. ISP (Interface Segregation Principle) 인터페이스 분리 원칙

    • 특정 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스 하나보다 낫다
    • 클리이언트의 목적과 용도에 맞게 적절하게 인터페이스를 분리해야 한다
  5. DIP (Dependency Inversion Principle) 의존 역전 원칙

    • 고수준 모듈은 저수준 모듈에 의존해서는 안되며 저수준 모듈이 고수준 모듈에 의존해야 한다
    • 비즈니스와 관련된 로직이 세부사항에 의존하면 안된다는 원칙

2개의 댓글

comment-user-thumbnail
2022년 8월 9일

프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다 <- 이 원칙을 따르는 방법중 하나 -> 중간에 말이 짤렸네요.. 무엇을 말하고 싶은건지..

1개의 답글

관련 채용 정보