SOLID 객체지향 설계 5원칙
Single Responsibility Principle(단일 책임 원칙)
Open–closed principle (개방 폐쇄 원칙)
Liskov substitution principle (리스코프 치환 원칙)
Interface segregation principle (인터페이스 분리 원칙)
Dependency inversion principle (의존 역전 원칙)