Object-Oriented Programming
👉 객체지향 프로그래밍을 위한 다섯 가지 중요한 설계 원칙을 SOLID 원칙이라고 한다.
*더보기는 관련 예시임
1. Single Responsibility Principle (단일 책임 원칙)
- 하나의 클래스는 단 하나의 책임만 가져야 한다.
- 즉, 여러 기능을 한 클래스에서 처리하지 않는다.
더보기
✅ 정보 저장 기능과 정보 출력 기능을 별도의 클래스로 분리
2. Open/Closed Principle (개방-폐쇄 원칙)
- 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.
- 즉, 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있도록 설계한다.
더보기
✅ 조건문 대신, 인터페이스나 추상 클래스를 사용하여 새로운 기능을 확장
3. Liskov Substitution Principle (리스코프 치환 원칙)
- 자식 클래스는 부모 클래스를 대체할 수 있어야 한다.
- 즉, 부모 클래스를 사용하는 곳에서 자식 클래스를 넣을 수 있게 한다.
더보기
✅ Rectangle을 상속한 Square가 부모 클래스의 메서드를 정상적으로 동작하도록 보장
4. Interface Segregation Principle (인터페이스 분리 원칙)
- 클라이언트가 자신이 사용하지 않는 인터페이스에 의존하지 않도록 한다.
- 즉, 큰 인터페이스를 여러 개의 작은 인터페이스로 나눈다.
더보기
✅ Animal 인터페이스에 fly() 메서드를 넣지 않고, Bird 인터페이스에서만 fly()를 정의
5. Dependency Inversion Principle (의존 역전 원칙)
- 고수준 모듈(비즈니스 로직)이 저수준 모듈(데이터베이스)에 의존하지 않도록 한다.
- 즉, 추상화(인터페이스)에 의존해야 하고, 구체적인 구현체에 의존하지 않는다.
더보기
✅ Database 클래스를 직접 사용하지 않고, 인터페이스를 만들어 구현 클래스를 주입
'개인 학습 > 자바 스프링' 카테고리의 다른 글
DTO와 관련한 짧은 메모 (0) | 2025.04.06 |
---|---|
[Java] 제네릭과 명명 관례 (1) | 2025.03.24 |
[Java] Stream API vs for-loop: Which One is More Efficient? (1) | 2025.02.25 |
[Java] OCP (Open-Closed Principle) / 개방-폐쇄 원칙 (1) | 2025.02.03 |
[Java] 인터페이스의 다중 구현 (1) | 2025.01.30 |