Road to 개발자
객체 지향 3요소, 5원칙(SOLID) 본문
객체 지향 3요소
- 캡슐화 (정보 은닉)
필드, 메소드를 용도에 의해 접근 범위를 정할 수 있다.
ex) private, default, protected, public
- 상속
추상 클래스 또는 인터페이스를 상속받는 것.
ex) 추상 클래스, 인터페이스
- 다형성
재사용성 및 확장성을 높혀줍니다.
ex) Overriding, Overloading
객체 지향 5원칙 (SOLID)
SRP(Single Responsibility Principle)
OCP(Open Closed principie)
LSP(Liskov Substitution Principle)
ISP(Interface Segregation Principle)
DIP(Dependency Inversio Principle)
- SRP(단일 책임의 원칙)
하나의 클래스는 하나의 책임을 가진다.
예를 들어 JPA가 있습니다. 자바 객체로 관계형 데이터베이스를 사용하는 하나의 책임을 갖습니다. 유효성 검사 등 기능은 JPA의 책임이 아닙니다.
- OCP(개방 폐쇄 원칙)
개체는 확장에 대해서는 열려있어야 하면 변화에 대해서는 닫혀 있어야 한다.
ex) JDBC 인터페이스
- LSP(리스코프 치환 원칙)
서브 타입은 자신의 상위타입으로 교체 가능하고 부모클래스의 행위를 수행할 수 있다.
ex) 상속
- ISP(인터페이스 분리 원칙)
클래슨느 사용하지 않는 인터페이스를 구현하지 않아야 한다.
- DIP(의존 역전 원칙)
변화하기 쉬운것 보다 변화하기 어려운 것에 의존해야 한다.
ex) 인터페이스나 추상 클래스를 상속한다
▪️참고
- 객체 지향 3요소
- 객체 지향 5원칙
dev-momo.tistory.com/entry/SOLID-%EC%9B%90%EC%B9%99
imbf.github.io/java/2020/03/14/SOLID%EC%9B%90%EC%B9%99.html