[java] 자바 인터페이스의 정의와 특징
자바에서 인터페이스는 다른 클래스들이 구현해야 하는 메서드의 목록을 정의하는 역할을 합니다. 인터페이스는 클래스와 달리 멤버 변수를 가질 수 없으며, 모든 메서드는 추상 메서드입니다.
인터페이스 정의하기
다음과 같이 인터페이스를 정의할 수 있습니다:
public interface MyInterface {
// 추상 메서드 선언
void myMethod();
}
interface
키워드를 사용하여 인터페이스를 정의하고, 메서드는 추상 메서드이므로 선언만 하고 구현하지 않습니다.
인터페이스 구현하기
인터페이스를 구현하는 클래스는 implements
키워드를 사용하여 구현합니다:
public class MyClass implements MyInterface {
public void myMethod() {
// 메서드 구현
}
}
인터페이스를 구현한 클래스는 모든 인터페이스의 메서드를 구현해야 합니다.
다중 인터페이스 구현
자바에서는 클래스가 여러 개의 인터페이스를 동시에 구현할 수 있습니다. 이를 다중 인터페이스 구현이라고 합니다:
public class MyClass implements Interface1, Interface2 {
// 인터페이스 메서드 구현
}
인터페이스의 다형성
인터페이스를 사용하면 다형성을 구현할 수 있습니다. 다양한 객체를 동일한 인터페이스 타입으로 다룰 수 있습니다:
MyInterface myObj1 = new MyClass();
MyInterface myObj2 = new OtherClass();
myObj1.myMethod(); // MyClass의 메서드 호출
myObj2.myMethod(); // OtherClass의 메서드 호출
다형성을 이용하면 유지보수가 용이하고, 코드의 재사용성을 높일 수 있습니다.
결론
인터페이스는 자바에서 다형성을 구현하고, 클래스들 간의 규약을 정의하기 위한 강력한 도구입니다. 인터페이스를 적절하게 사용하면 코드의 유연성과 확장성을 높일 수 있습니다.
참고: