// < 클래스 설계 원칙 >
//
// 캡슐화 & 정보의 은닉
// 응집도는 높이고, 결합도는 낮추자!
// < SOLID원칙 >
// 1. ★★★ 단일 책임 원칙 (SRP - Single Responsibility Principle) ★★★ 우선순위임!
// : 각 클래스와 메소드들은 단 하나의 책임만 가져야 하며, 변경 이유는 하나여야 함.
// --> for문안에 for문을 넣지 말자. 클래스를 만들어서 for안에 넣는 식으로 변경하기. (가능하다면)
//
// 2. 개방-폐쇄 원칙 (OCP - Open-Closed Principle)
// : 소프트웨어 엔티티는 확장에는 열려 있고, 수정에는 닫혀 있어야 함
//
// 3. 리스코프 치환 원칙 (LSP - Liskov Substitution Principle)
// : 서브타입은 슈퍼타입으로 대체 가능해야 함
// --> 상속&다형성&오버라이딩 말하는 것!
//
// 4. 인터페이스 분리 원칙 (ISP - Interface Segregation Principle)
// : 클라이언트가 사용하지 않는 메서드에 의존하지 않도록 작은 인터페이스로 분리해야 함
//
// 5. 의존 역전 원칙 (DIP - Dependency Inversion Principle)
// : 고수준 모듈은 저수준 모듈에 의존해서는 안되며, 모두 추상화에 의존해야 함
'JAVA > DAY 16 _ 23.09.07' 카테고리의 다른 글
불변/가변객체1 (0) | 2023.09.19 |
---|---|
불변/가변객체2 (0) | 2023.09.19 |
라이브러리 (0) | 2023.09.19 |
Enum(열거형) (0) | 2023.09.19 |
Polymorphism활용_TV (0) | 2023.09.15 |