관리 메뉴

Road to 개발자

객체 지향 3요소, 5원칙(SOLID) 본문

카테고리 없음

객체 지향 3요소, 5원칙(SOLID)

개발자가 되고싶은 개발자 2021. 4. 21. 19:26

객체 지향 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요소

jinsangjin.tistory.com/74

 

- 객체 지향 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