재사용이 필요할 때 인터페이스를 적극 활용하자 일반 클래스를 재사용하는 경우, 코드의 복잡도가 높아지면서 가독성이 저하될 수 있음 인터페이스를 분리하여 역할을 명시적으로 작성 역할과 구현의 명확한 분리 유연하고 확장성 있는 프로그램 설계