주니 개발 도서관

자바(JAVA)

(12) 인터페이스

주니홍 2022. 6. 22. 18:59
0623

 

인터페이스

인터페이스는 Ctrl + N 으로 따로 생성해준다

인터페이스와 연동하는 모든 클래스들은

해당 인터페이스를 구현해야만 한다!

메소드명을 동일하게 "강제"해서 만들기위해 사용된다

 

인터페이스 안의 메소드는 앞에

public abstract 가 생략되어 있다!

 

인터페이스 안에서 만들어진 변수들은 상수이므로

초기화를 무조건 해주어야 한다

변수앞에 public static final이 생략되어있다!

 

extends를 통한 다중상속은 안되지만

implements 를 통하여 보완한다고 생각하면된다!

 

class  클래스이름  implements  인터페이스이름

인터페이스를 상속받기위한 키워드이다

 

해당 메소드들은 인터페이스 안의 메소드를

강제로 오버라이딩 해야만한다

 

인터페이스 안에서 만들어진 변수는클래스 안에서 불러오지 않아도 사용 가능하다

 

 

 

인터페이스

1
2
3
4
5
6
7
8
9
10
11
12
package class02;
 
public interface usePhone {
 
    void soundUp();
    void soundDown();
    void power();
    
    int maxsound=100;
    int minsound=0
    
}
cs

 

인터페이스를 상속받은 클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package class02;
 
class Phone implements usePhone{
    @Override
    public void soundUp() {
        // TODO Auto-generated method stub
    }
    @Override
    public void soundDown() {
        // TODO Auto-generated method stub
    }
    @Override
    public void power() {
        // TODO Auto-generated method stub
    }
}
class Watch implements usePhone{
    
    public void soundUp() {
        // TODO Auto-generated method stub
    }
    public void soundDown() {
        // TODO Auto-generated method stub
    }
    public void power() {
        // TODO Auto-generated method stub
    } 
    
}
cs

오버라이드를 꼭 해주어야 오류가 나지않는다!