산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 인터페이스 완벽 해설: 정의, 구현, 실전 예제

Java 인터페이스란?

Java 인터페이스는 클래스에 대한 계약을 정의하는 추상 타입입니다. 상수와 추상 메서드를 선언할 수 있지만 상태를 가질 수는 없습니다. 모든 메서드는 암시적으로 public이고 abstract이며, 클래스는 여러 인터페이스를 구현하여 요구된 동작을 제공할 수 있습니다.

인터페이스 선언

interface MyInterface {
    // 추상 메서드
}

인터페이스 구현

class Dog implements Pet {
    // Pet의 메서드 구현
}

인터페이스 확장

interface RidableAnimal extends Animal, Vehicle {
    // 추가 추상 메서드
}

왜 인터페이스가 필요한가?

인터페이스는 무엇(what)을 어떻게(how)에서 분리합니다. 다형성을 가능하게 하고, 느슨한 결합을 촉진하며, Java가 클래스에 대해 지원하지 않는 '다중 상속' 문제를 해결합니다.

예를 들어 MediaPlayer는 별도의 CDPlayer와 DVDPlayer 서브클래스를 가질 수 있으며, 각각 고유한 play() 구현을 제공합니다. 한 클래스가 두 기능이 모두 필요하면 Java는 클래스의 다중 상속을 금지하지만, 인터페이스로 행동을 깔끔하게 결합할 수 있습니다.

Java 인터페이스 완벽 해설: 정의, 구현, 실전 예제

Java 인터페이스 완벽 해설: 정의, 구현, 실전 예제

마찬가지로 Dog 클래스는 Animal을 확장하고 Pet 인터페이스를 구현하여 상속과 계약 의무를 모두 충족할 수 있습니다.

Java 인터페이스 완벽 해설: 정의, 구현, 실전 예제

Java 인터페이스 예제

1단계: 다음 코드 작성:

interface Pet {
    void test();
}
class Dog implements Pet {
    @Override
    public void test() {
        System.out.println("Interface method implemented");
    }
    public static void main(String[] args) {
        Pet p = new Dog();
        p.test();
    }
}

2단계: 컴파일하고 실행하여 출력 확인.

클래스 vs 인터페이스

클래스인터페이스
인스턴스화 가능하며 상태를 가질 수 있음인스턴스화 불가, 상수와 메서드 시그니처만 포함
구현된(구체적) 메서드 가질 수 있음Java 8 이전까지 구현된 메서드 불가; Java 8부터 default, static 메서드 가능
접근 제어자: private, protected, public모든 멤버 암시적으로 public (필드는 static final)

인터페이스 vs 추상 클래스: 언제 무엇을 쓸까?

인터페이스 핵심 사실

요약

java

  1. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  2. C# 추상 클래스(Abstract Class) 완벽 가이드: 실전 코드 예제
  3. C# 인터페이스(Interface) 완벽 이해: 정의, 예제, 실전 활용법
  4. Java String length() 메서드: 문자열 크기 구하기 (예제 포함)
  5. Java String.charAt() 완전 이해: 문법, 반환타입, 예외, 실전 예제
  6. Java String.endsWith() 마스터: 문자열 접미사 확인 예제
  7. Java 인터페이스 vs 추상 클래스: 올바른 추상화 선택 가이드
  8. Java BufferedReader로 파일 읽기: 실전 가이드와 예제
  9. 자바 삽입 정렬 알고리즘: 명확한 예제와 단계별 가이드
  10. 자바 인터페이스 이해하기: 정의, 용도, 모범 사례