SOLID 원칙
Single Responsibility Principle: 단일 책임 원칙 응집도에 대한 기준 “각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다” == “하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 한다” 1974년 다익스트라에 의해 제안된 개념인 관심사의 분리의 다른 표현 하나의 클래스가 하나의 일만 해야 한다는 뜻이 아님에 유의(메소드는 그래야 함) Open-Closed Principle: 개방-폐쇄 원칙 “소프트웨어 모듈은 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다” 열려 있다: 데이터 구조에 필드를 추가하거나, 함수에 새로운 요소를 추가하는 것이 가능해야 함 닫혀 있다: 내부 코드를 변경해도 이를 사용하는 외부 모듈에는 영향을 미치지 않아야 함 멤버 변수를 private / protected로 선언: 내부 데이터의 변경이 클래스 사용자에게 의도치 않은 영향을 주지 않도록 글로벌 변수 피하기: 글로벌 변수를 참조하는 모듈이나 클래스가 외부 값에 의존…