package com.haenin.section04.interfacesegregation.problem;
/* 설명.
* 인터페이스 분리 원칙(Interface Segregation Principle) - "쓸데없는 규약을 싫어!"
* - 자신이 사용하지 않는 메소드에 의존하지 않아야 한다.
* (인터페이스가 너무 많은 규약을 가지면 안된다.)
* */
public class Application {
public static void main(String[] args) {
BadOldMachine oldPrinter = new BadOldPrinter();
oldPrinter.print();
oldPrinter.fax(); // 필기. 실제로는 지원하지 않는 기능
oldPrinter.scan(); // 필기. 실제로는 지원하지 않는 기능
}
}
package com.haenin.section04.interfacesegregation.problem;
public interface BadOldMachine {
void print();
void fax();
void scan();
}
package com.haenin.section04.interfacesegregation.problem;
public class BadOldPrinter implements BadOldMachine{
@Override
public void print() {
System.out.println("문서를 힙겹게 인쇄합니다.");
}
@Override
public void fax() {
/* 설명. fax 기능은 지원조차 되지 않음 */
}
@Override
public void scan() {
/* 설명. scan 기능은 지원조차 되지 않음 */
}
}