Java
[Java] 인터페이스 interface ?
코복이
2023. 8. 17. 11:05
728x90
인터페이스는 자바에서 다형성을 구현하는 중요한 도구 중 하나입니다.
자바에서 인터페이스(Interface)는 클래스와 비슷한 개념으로, 클래스와는 다르게 추상화된 메소드의 집합을 정의하는데 사용됩니다. 인터페이스는 클래스와 달리 구현된 코드를 가지지 않으며, 다른 클래스가 해당 인터페이스를 구현할 때 어떤 메소드를 반드시 구현해야 한다는 계약을 나타냅니다.
인터페이스의 특징:
1) 추상 메소드(Abstract Methods): 인터페이스는 추상 메소드를 포함하며, 이 메소드는 선언만 되고 실제 내용이 없습니다. 구현 클래스는 이 추상 메소드를 반드시 구현해야 합니다.
2) 상수(Constants): 인터페이스는 상수를 정의할 수 있습니다. 이러한 상수들은 인터페이스를 구현하는 클래스에서 사용될 수 있습니다.
3) 다중 상속 지원: 클래스가 하나의 클래스만 상속받을 수 있는 반면, 인터페이스는 여러 개 구현할 수 있습니다. 이는 자바에서 다중 상속을 대신하여 다양한 클래스 간의 관계를 정의할 수 있는 장점을 제공합니다.
4) 클래스와 달리 다중 상속 가능: 클래스는 단일 상속만 허용하지만, 인터페이스는 여러 개를 동시에 구현할 수 있습니다. 이로써 다양한 기능을 더 효과적으로 조합할 수 있습니다.
인터페이스의 선언 형식:
interface MyInterface {
// 추상 메소드 선언
void someMethod();
// 상수 선언
int MY_CONSTANT = 10;
}
인터페이스를 구현하는 클래스는 implements 키워드를 사용하여 인터페이스의 추상 메소드를 구현해야 합니다.
* public 접근제어자를 꼭 작성해줘야 함.
class MyClass implements MyInterface {
@Override
public void someMethod() {
// 추상 메소드의 실제 구현 내용
}
}
인터페이스는 주로 다양한 클래스 간의 관계를 정의하고 코드의 유연성을 높이는데 사용됩니다. 예를 들어, 여러 클래스가 같은 인터페이스를 구현하면서 각자 다른 동작을 정의할 수 있습니다. 인터페이스는 자바에서 다형성을 구현하는 중요한 도구 중 하나입니다.
728x90