자바 복습

2024. 6. 10. 20:16JAVA언어

역할 = interface

구현 = interface 구현 class / 객체

 

구현보다 역할(interface) 분리를 잘 해야한다.

 

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

 

  • 단일 책임 원칙(Single Responsibility Principle, SRP)
    • 한 클래스는 하나의 책임만을 가져야 한다.
    • 클래스는 단 하나의 기능만 가지며, 그 기능을 변경해야 할 이유가 하나여야 한다.
  • 개방-폐쇄 원칙(Open-Closed Principle, OCP)
    • 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하지만, 변경에는 닫혀 있어야 한다.
    • 기존 코드를 수정하지 않고도 기능을 확장할 수 있어야 한다.
  • 리스코프 치환 원칙(Liskov Substitution Principle, LSP)
    • 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않고 상위 타입의 인스턴스로 바꿀 수 있어야 한다.
    • 상위 클래스의 객체를 하위 클래스의 인스턴스로 대체해도 프로그램의 정상 동작이 유지되어야 한다.
  • 인터페이스 분리 원칙(Interface Segregation Principle, ISP)
    • 특별한 클라이언트를 위한 일반적인 인터페이스 보다는 구체적인 여러 개의 인터페이스가 낫다.
    • 클라이언트는 자신이 사용하지 않는 메서드에 의존적이지 않아야 한다.
  • 의존 역전 원칙(Dependency Inversion Principle, DIP)
    • 상위 계층이 하위 계층에 의존해서는 안 된다. 둘 모두 추상화에 의존해야 한다.
    • 구체적인 사항이 아닌 추상화에 의존해야 한다.

의존 역전의 원칙은 둘 다 interface 또는 추성메서드에 의존해 각 클래스의 수정에 영향 받지않고 똑같은 역할을 하도록 하는 것이다. 해당 내용은 이해했지만 실제로 적용해서 사용하지 못해서 이 번에 java공부 시, 프로젝트 진행 시 잘 적용해보도록 해야겠다.

 

'JAVA언어' 카테고리의 다른 글

DI 컨테이너, IoC컨테이너  (0) 2024.06.23
자습  (0) 2023.02.03
자습  (0) 2023.02.02
Calendar  (0) 2023.02.01
자습  (0) 2023.02.01