[java] 자바 상속을 활용한 다른 인터페이스 구현 방법

자바에서 인터페이스를 구현하는 데에는 상속을 활용하는 여러 가지 방법이 있습니다. 이러한 접근 방법을 통해 코드의 재사용성을 높일 수 있고, 유연한 설계를 할 수 있습니다. 이번 블로그에서는 자바에서 상속을 활용하여 다른 인터페이스를 구현하는 방법에 대해 알아보겠습니다.

1. 인터페이스 상속

인터페이스 간에도 상속 관계를 형성할 수 있습니다. 자바에서는 인터페이스가 다른 인터페이스를 확장(extends)할 수 있습니다. 이를 통해 새로운 인터페이스를 만들거나, 이미 정의된 인터페이스를 확장하여 새로운 기능을 추가할 수 있습니다.

다음은 인터페이스 간의 상속 예시입니다.

public interface InterfaceA {
    void methodA();
}

public interface InterfaceB extends InterfaceA {
    void methodB();
}

위의 예시에서 InterfaceBInterfaceA를 상속하여 methodAmethodB를 모두 포함하고 있습니다.

적절한 상속을 활용하여 인터페이스를 설계하면, 코드의 일관성을 유지하고 확장성을 강화할 수 있습니다.

2. 클래스에서 인터페이스 구현

클래스는 여러 개의 인터페이스를 구현할 수 있습니다. 이미 구현된 인터페이스를 상속하여 새로운 인터페이스를 구현하는 경우, 상속받은 인터페이스의 메서드 또한 구현해주어야 합니다.

다음은 클래스에서 인터페이스를 구현한 예시입니다.

public interface InterfaceA {
    void methodA();
}

public interface InterfaceB {
    void methodB();
}

public class MyClass implements InterfaceA, InterfaceB {
    public void methodA(){
        // methodA의 구현
    }

    public void methodB(){
        // methodB의 구현
    }
}

위의 예시에서 MyClassInterfaceAInterfaceB를 모두 구현하고 있습니다.

3. 상위 클래스에서 인터페이스 구현

또한, 상위 클래스에서 인터페이스를 구현하고, 하위 클래스에서 이를 오버라이딩(overriding)하여 다른 동작을 정의할 수 있습니다. 이는 각 하위 클래스가 필요에 맞게 인터페이스 메서드를 재정의할 수 있도록 합니다.

다음은 상위 클래스에서 인터페이스를 구현하고, 하위 클래스에서 오버라이딩한 예시입니다.

public interface InterfaceA {
    void methodA();
}

public class BaseClass implements InterfaceA {
    public void methodA(){
        // methodA의 기본 동작
    }
}

public class SubClass extends BaseClass {
    public void methodA(){
        // methodA의 오버라이딩된 동작
    }
}

마무리

자바에서는 상속을 활용하여 다른 인터페이스를 구현하는 다양한 방법이 있습니다. 각 방법은 코드의 구조와 설계에 따라 선택되어져야 하며, 적절한 활용을 통해 유지보수가 쉬운 유연한 코드를 작성할 수 있습니다.

더 많은 정보는 Oracle Java Documentation에서 찾아볼 수 있습니다.