Post

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의 다른 중요한 문법에 대해 더 깊게 알아보도록 하겠습니다.

This post is licensed under CC BY 4.0 by the author.