Language/Java

Interface

용용띠용 2025. 4. 15. 14:02

인터페이스

: 클래스가 지켜야 할 최소한의 규칙 정의

- 구현x, 구조만 정의

 

특징

- 변수: public static final로 고정 선언     // 형식 무관

          - 변수 선언 최소화(권장)

- 메서드: public

          - 구조만 정의

          - 클래스에서 오버라이딩으로 구

- 다중 상속 가능

- 객체 생성 불가

 

상속

- 다른 인터페이스에서 활용: extends

- 클래스에서 활용: implements

 

구현체

: 인터페이스를 구현한 클래스

 

기능

1. 다중 구현

: 한 개의 클래스가 여러 인터페이스 구현

- implements 키워드

interface Device{
	void call();
}

interface Search{
	void search();
}

class Phone implements Device, Search{
	public void call(){
    	System.out.println("전화를 걸고 있습니다.");
    }
    
    public void search(){
    	System.out.println("검색을 하고 있습니다.");
    }
    
    //추가로 메서드 생성 및 구현 가능
}

 

2. 다중 상속

- extends 키워드

interface Animal{
	void eat();
}

interface Swim{
	void swim();
}

interface marineLife extends Animal, Swim{
	void underwaterBreath();
}

class Fish implements marineLife{
	void eat(){
    	System.out.println("먹이를 먹습니다.");
    }
    
    void swim(){
    	System.out.println("수영을 합니다.");
    }
    
	void underwaterBreath(){
    	System.out.println("수중 호흡을 합니다.");
    }
}