OCP(Open Closed Principle)는 확장에는 열려있되, 수정에는 닫혀있어야한다는 디자인 원칙이다. 게임 캐릭터에서 궁수라는 캐릭터를 예를들어 설명해보겠다. 아래 클래스는 아처(캐릭터) 클래스와 활(무기) 클래스이다. public class Archer { private Bow bow; private int level; public Archer(int level) { bow = new Bow(); this.level = level; } public void Attack(){ StringBuilder sb = new StringBuilder(); sb.append("Archer가 데미지 "); sb.append(getPower()); sb.append("을(를) 입혔습니다."); System...
객체지향 원리변하는 것을 캡슐화하라구현에 의존하기 보다는 인터페이스에 의존하도록 코딩하라각 클래스는 변경 요인이 오직 하나이어야한다.클래스는 행동과 기능에 관한 것이다. 디자인 원리 (SOLID) Single Responsibility Principle (SRP) 단일책임의 원리로 모든 객체는 하나의 책임을 가진다. Open Closed Principle (OCP) 수정에는 닫혀있고, 확장에는 열려있다. Liskov Substitution Principle (LSP) 자식 타입들은 부모타입들이 사용되는 곳에 대체될 수 있어야한다. 상속보다는 위임, 구성, 집합을 사용하면 소프트웨어는 더 유연하고, 유지보 수성, 확장성, 재사용성이 좋아진다. Interface segregation principle (IS..
- Total
- Today
- Yesterday