Computer Science

예상 질문 - 인터페이스 분리 원칙

ds3hfj 2025. 4. 28. 10:36

인터페이스 분리 원칙


인터페이스 분리 원칙(ISP, Interface Segregation Principle)은 하나의 일반적인 인터페이스보다 구체적인 여러 개의 인터페이스를 만들어야 하는 원칙

interface Machine {
    void print();
    void scan();
    void fax();
}

class Printer implements Machine {
    public void print() { System.out.println("Printing"); }
    public void scan() { /* 필요 없는데 구현해야 함 */ }
    public void fax() { /* 필요 없는데 구현해야 함 */ }
}

 

ISP를 지키면, 프로그램을 고칠 때 다른 부분에 쓸데없는 영향을 주지 않아서
버그가 줄고, 유지보수가 쉬워짐

interface Printer {
    void print();
}

interface Scanner {
    void scan();
}

interface Fax {
    void fax();
}

class SimplePrinter implements Printer {
    public void print() { System.out.println("Printing"); }
}