본문 바로가기

JAVA/OOP

객체지향의 5원칙 (SOLID)

반응형

RP : Single Responsibility Principle  단일 책임 원칙

OCP : Open Closed Principle 개방-폐쇄 원칙

LSP : Liskov Substitusion Principle 리스코프 치환 법칙

ISP : Interface Segregation Principle 인터페이스 분리 원칙

DIP : Dependency Inversion Principle 의존성 역전 법칙

 

 

1. SRP : 단일 책임의 원칙

모든 클래스는 단 하나의 책임을 가져야 한다는 원칙

 - 모듈화 할 것!! 클래스가 가지는 역할은 단지 하나의 객체에 대한 것이어야 한다.

 

 

2. OCP :개방-폐쇄 원칙

모든 소프트웨어 구성 요소는 확장에 대해서는 개방되어있지만, 수정에 대해서는 폐쇄되어있다는 원칙

 - 확장에 대하여는 개방적이고( 재정의 ) , 수정에 대하여는 폐쇄적이어야 한다.(수정 안해도 알아서 상속 특정한 것만 수정.)
3. LSP : 리스코프 치환 법칙자식 클래스는 언제나 자신의 부모 클래스로 교체할 수 있다는 원칙 - 디형성에 관한 이야기인데, 부모 클래스로 형변환이 가능하다는 말임.(Object obj)로 모든객체 통일 가능
4. ISP : 인터페이스 분리 원칙클라이언트에서 사용하지 않는 메서드는 사용해선 안된다. 그러므로 인터페이스를 다시 작게 나누어 만든다. - 인터페이스의 세분화 & 기능을 분리할 것.
5. DIP : 의존성 역전 법칙 // ??상위 클래스는 하위 클래스에 의존해서는 안된다는 법칙

 

 

 

 

 다 독립적이어야 하는데, static으로 만들어서 하위에 따라 상위가 변경된다는거 같음. 일단 뭔지 대충은 알겠음



https://mirror.enha.kr/wiki/%EA%B0%9D%EC%B2%B4%20%EC%A7%80%ED%96%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EC%9B%90%EC%B9%99

객체 지향 프로그래밍/원칙 - 엔하위키 미러
 
mirror.enha.kr
본문으로 이동

 

반응형