인터페이스는 자바에서 다중 상속과 유사한 기능을 제공한다. 추상 메소드와 상수만으로 이루어져 있으며, 클래스가 어떤 메소드를 구현해야 하는지 명시적으로 정의한다.
인터페이스는 다음과 같은 구조를 가진다.
public interface InterfaceName {
public static final DataType CONSTANT_NAME = value;
public abstract ReturnType methodName(ParameterType parameter);
// 다른 추상 메소드들...
}
위의 예시에서 InterfaceName은 인터페이스의 이름을 나타내며, CONSTANT_NAME은 인터페이스에서 사용되는 상수를 나타낸다. 그리고 methodName은 인터페이스에서 정의된 추상 메소드를 나타낸다.
인터페이스를 구현하는 클래스는 implements 를 사용하여 구현한다. 구현 클래스는 인터페이스에서 정의된 모든 메소드를 구현해야 한다.
public class ClassName implements InterfaceName {
// 인터페이스에서 정의된 메소드 구현
public ReturnType methodName(ParameterType parameter) {
// 메소드 구현 내용
}
// 다른 메소드들...
}
자바에서는 클래스가 하나의 클래스를 상속받으면서 동시에 하나 이상의 인터페이스를 구현할 수 있다. 이는 다중 상속과 유사한 효과를 제공한다.
public class ClassName extends ParentClass implements InterfaceName {
// 클래스의 내용
}
위의 예시에서 ClassName 클래스는 ParentClass를 상속받으면서 동시에 InterfaceName 인터페이스를 구현하고 있다.