다음은 객체지향적으로 설계할 때 참고해야 할 5대 원칙입니다.
1. 단일 책임 원칙 (SRP)
모든 클래스는 각각 하나의 책임만 져야 합니다. 클래스는 그 책임을 완전히 캡슐화해야함을 의미합니다.
ex ) 특정한 기능을 수행할 목적으로 있는 클래스가 있다면 해당 기능만을 책임져야하고 이를 수정한다고 한다면 그 이유는 해당 기능과 관련되어서만 수정되어야 함
2. 개방-폐쇄 원칙(OCP)
- 확장에는 열려있고 수정에는 닫혀있어야 합니다. 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 해야합니다.
ex ) 캐릭터의 수정은 필요 없고 움직임의 패턴만 재정의하면 됩니다.
3. 리스코프 치환 법칙(LSP)
- 자식 클래스는 언제든 부모 클래스를 대체할 수 있어야 한다는 원칙입니다.
4. 인터페이스 분리 원칙(ISP)
클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 합니다. 그러므로 하나의 인터페이스에 여러개의 기능을 합쳐서 넣는 것 보다 각각의 구체적인 기능이 들어있는 여러개의 인터페이스들이 낫습니다.
5. 의존 역전 법칙 (DIP)
의존 관계를 맺을때 거의 변화가 없는 것에 의존해야합니다. 즉 구체적인 클래스보다 인터페이스 혹은 추상클래스와 관계를 맺어야 합니다.
728x90
반응형
'Language > Java' 카테고리의 다른 글
Java Checked Excpetion, UnChecked Exception (0) | 2021.09.26 |
---|---|
자바 - 동일성과 동등성(equals, == ) (0) | 2021.09.11 |
접근 제어자의 종류 (0) | 2021.08.18 |
static (0) | 2021.08.01 |
클래스와 객체 (0) | 2021.07.24 |