[DEV] J-Jay

인터페이스(interface) 본문

Back-end/Java

인터페이스(interface)

J-Jay 2023. 4. 30. 15:51
728x90
인터페이스

 객체 지향 프로그래밍에서 추상화를 통해 코드의 재사용성과 유지보수성을 높이는 기술 중 하나이다. 인터페이스는 메소드의 선언만으로 기능을 정의하고, 이를 구현하는 클래스에서 모든 메소드를 구현해야 한다.

 

글로만 설명하면 이해가 힘드니 직접 구현을 해보겠다.

 

예제: 동물 인터페이스
interface Animal {
    public void makeSound();
}

class Dog implements Animal {
    public void makeSound() {
        System.out.println("멍멍");
    }
}

class Cat implements Animal {
    public void makeSound() {
        System.out.println("야옹");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog(); 
        Animal cat = new Cat();
        dog.makeSound(); //멍멍
        cat.makeSound(); //야옹
    }
}

Animal 인터페이스는 makeSound() 메소드를 선언하고 있고,

이를 구현하는 Dog 클래스와 Cat 클래스에서는 각각 "멍멍" 과 "야옹" 소리를 출력하도록 구현했다.

Main 클래스에서는 Animal 인터페이스를 구현한 객체를 생성하고, makeSound() 메소드를 호출하여 동물의 소리를 출력한다.

 

Animal 인터페이스는 makeSound() 메소드를 선언하고 있습니다. 이를 구현하는 Dog 클래스와 Cat 클래스에서는 각각 멍멍과 야옹 소리를 출력하도록 구현하였습니다.

결론

이와 같이 인터페이스를 사용하면, 서로 다른 클래스에서 같은 인터페이스를 구현하여 동일한 기능을 수행할 수 있다.

 

 

'Back-end > Java' 카테고리의 다른 글

Java I/O - 2  (0) 2023.05.02
Java I/O - 1  (0) 2023.05.01
추상(abstract)  (0) 2023.04.30
Generic  (0) 2023.04.29
String  (0) 2023.04.23