본문 바로가기

TIL

TIL) 자바에서의 객체지향 설계

1. SOLID원칙

 자바는 객체지향 언어로 객체지향적인 설계를 할 수 있습니다. 이때 사용되는 것이 SOLID원칙입니다.

  1. 단일 책임 원칙 SRP (Single Responsibility Principle)
    • 책임을 최소화하는 원칙입니다. 하나의 클래스는 하나의 책임을 가져한다는 의미로 여기서 말하는 책임이란 기능입니다. 즉, 하나의 클래스는 한가지 기능에 집중해야합니다.
  2. 개방 폐쇄 원칙 OCP (Open Close Principle)
    • 소프트웨어는 새로운 요소를 추가할 때 기존 코드를 수정을 하는 방법이 아닌 확장하는 방법으로 설계해햐압니다.
    • 다형성을 활용하여야 합니다. 인터페이스를 implements 하여 구현하여야합니다.
  3. 리스코프 치환 원칙 LSP (Liskov Subsitution Principle)
    • 자식 클래스는 부모클래스를 대체할 수 있어야합니다.
    • 인터페이스를 구현하여 구현체를 만들어주면 해결할 수 있습니다.
  4. 인터페이스 분리 원칙 ISP (Interface Segregation Principle)
    • 특정 상황마다 인터페이스를 구현하는 것이 범용 인터페이스보다 좋습니다.
    • 즉, 여러개의 작은 인터페이스로 분리하여햐 합니다.
  5. 의존관계 역전 원칙 DIP (Dependency Inversion Principle)
    • 구현된 클래스에 의존하는 것이 아닌 추상클래스(인터페이스)에 의존하도록 설계해야합니다.

 위 SOLID 원칙을 요약해 보았을 때, 인터페이스 설계와 책임을 분산하는 것이 중요합니다. 객체지향적 설계를 다시 정리한 이유는 지금도 알고 있지만 실제로 구현을 할 때 많은 어려움을 느끼고 있습니다. 구체적으로는 인터페이스의 활용과 책임을 분산하는 부분의 설계와 구현이 어려웠습니다.

 

2. 내일 해야할 것

  • Spring 숙련 강의 듣기
  • Spring 숙련 과제 설계하기
  • 알고리즘(bfs, dfs) 공부하기

 

'TIL' 카테고리의 다른 글

TIL) JPA 비밀번호 암호화  (0) 2024.11.14
TIL) 쿠키와 세션  (1) 2024.11.13
TIL) 프로그래머스 문제풀이  (1) 2024.11.11
TIL) 일정 관리 앱 과제 피드백  (0) 2024.11.08
TIL) 스프링 프로젝트에서 책임 분산하기  (0) 2024.11.07