[java] 인터페이스를 사용하여 파일 처리하기

자바에서 파일을 처리하는 과정은 매우 일반적이지만, 때때로 다른 파일 타입에 대해 다른 방식으로 처리해야 할 수 있습니다. 이런 경우에 인터페이스를 효과적으로 활용할 수 있습니다.

public interface FileProcessor {
    void processFile(String filename);
}

public class TextFileProcessor implements FileProcessor {
    @Override
    public void processFile(String filename) {
        // 텍스트 파일 처리 로직
    }
}

public class ImageFileProcessor implements FileProcessor {
    @Override
    public void processFile(String filename) {
        // 이미지 파일 처리 로직
    }
}

위의 코드에서 FileProcessor 인터페이스는 processFile 메서드를 정의하고, TextFileProcessorImageFileProcessor 클래스는 각각 이 인터페이스를 구현합니다.

이제 다음과 같이 사용할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        FileProcessor textProcessor = new TextFileProcessor();
        FileProcessor imageProcessor = new ImageFileProcessor();

        textProcessor.processFile("example.txt");
        imageProcessor.processFile("example.jpg");
    }
}

이렇게 하면 각각의 파일을 처리하는데 필요한 로직을 각각의 클래스에 구현할 수 있고, 필요에 따라 다른 파일 유형에 대한 처리기를 쉽게 추가할 수 있습니다.


참고 문헌: