Java 10, Interface!
Java의 주요 문법.
인터페이스(interface)
인터페이스
지난번 포스팅이었던 추상화에 이어 Java
에서 가장 많이 사용되는 다향성의 방법중 하나인
interface
에 대헤 공부해보겠습니다.
인터페이스란?
지난번 포스팅에서 다룬 추상화의 개념에 이어, Java에서 가장 많이 사용되는 다향성의 방법 중 하나인 interface
에 대해 공부해보겠습니다.
먼저, interface의 사전적 의미를 알아보면, ‘상호 작용’이라는 뜻을 가지고 있습니다.
Java에서의 interface는 클래스와 클래스 사이, 혹은 클래스와 프로그램 간의 상호 작용을 정의하는 역할을 합니다.
인터페이스의 역할
- 인터페이스는 구현이 없는 추상 메서드와 상수만을 가질 수 있습니다.
- 다른 클래스가 해당 인터페이스를 구현(implement)하면, 인터페이스에서 정의한 메서드를 반드시 구현해야 합니다.
- 이렇게 함으로써 다양한 객체들이 같은 메서드를 구현하게 되어 코드의 일관성과 유지보수성이 향상됩니다.
인터페이스의 정의
인터페이스는 interface
키워드를 사용하여 정의됩니다. 다음은 간단한 인터페이스의 예시입니다.
1
2
3
interface Drawable {
void draw();
}
위의 예제에서 Drawable 인터페이스는 draw라는 추상 메서드만을 가지고 있습니다.
이 인터페이스를 구현하는 클래스는 draw 메서드를 반드시 구현해야 합니다.
인터페이스의 구현
인터페이스를 구현하는 클래스는 implements 키워드를 사용합니다.
다음은 Drawable 인터페이스를 구현하는 예제입니다.
1
2
3
4
5
6
class Circle implements Drawable {
@Override
public void draw() {
System.out.println("원을 그립니다.");
}
}
인터페이스의 다중 상속
Java에서는 클래스는 하나의 클래스만을 상속받을 수 있지만, 인터페이스는 다중 상속이 가능합니다.
다음은 여러 인터페이스를 구현하는 예제입니다.
1
2
3
4
5
6
7
8
interface Walkable {
void walk();
}
interface Runnable {
void run();
}
인터페이스의 활용 인터페이스는 자바가 가장 중요하게 여기는 다향성을 구현해낼수 있는 문법으로,
객체의 타입을 일반화하여 코드의 유연성과 확장성을 높입니다.
다음은 예제를 한 번 작성 해보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
interface Walkable {
void walk();
}
interface Runnable {
void run();
}
class Person implements Walkable, Runnable {
@Override
public void walk() {
System.out.println("걷습니다.");
}
@Override
public void run() {
System.out.println("달립니다.");
}
}
위 예제에서 Walkable
와 , Runnable
인터페이스 타입의 변수로 다양한 도형 객체를 참조할 수 있습니다.
이러한 다형성을 통해 동일한 인터페이스를 구현하는 다양한 객체들을 일관된 방식으로 처리할 수 있습니다.
결론
인터페이스는 Java 프로그래밍에서 중요한 개념 중 하나로,
코드의 일관성과 유지보수성을 높이는 데 큰 역할을 합니다.
이번 포스팅을 통해 인터페이스의 기본적인 개념과 활용 방법에 대해 알아보았습니다.
다음에는 Java의 다른 중요한 문법에 대해 더 깊게 알아보도록 하겠습니다.