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
'JAVA > OOP' 카테고리의 다른 글
OOP : Polymorphism (상속/인터페이스에 의한 다형성) (0) | 2015.02.04 |
---|---|
OOP : Abstraction (추상화) (0) | 2015.02.04 |
OOP : Abstraction, Encapsulation, Inheritance and Polymorphism (0) | 2015.02.04 |
Class, Instance and Object (0) | 2015.02.04 |
객체지향언어 (Object Oriented Programming Language) (0) | 2015.02.04 |