필요한 기능만 명시
Logger처럼 사용자가 기대하는 메서드 형태를 먼저 정의합니다.
interface Logger
인터페이스는 구현체를 고정하지 않고 필요한 능력만 요구하게 만들어 확장과 테스트를 쉽게 합니다.
Logger처럼 사용자가 기대하는 메서드 형태를 먼저 정의합니다.
interface Logger
같은 인터페이스를 구현한 클래스는 호출부 수정 없이 바꿀 수 있습니다.
new FileLogger()
서로 다른 구현체를 하나의 인터페이스 배열이나 매개변수로 받을 수 있습니다.
Logger[]
실제 파일이나 네트워크 대신 가짜 구현체를 넣어 단위 테스트를 단순화합니다.
FakeLogger
인터페이스는 객체 모양을 설명하는 문법을 넘어 변경에 강한 설계 경계를 만드는 도구입니다.