인터페이스란
인터페이스를 상속받는 다수의 서브클래스에서
같은 기준으로 구현하도록 하기위한 기본 밑그림으로 보시면 편할 것 같습니다.
인터페이스를 상속받는 서브클래스는 다수개가 될 수 있습니다.
서브클래스마다 각각의 함수로 구현을 한다면 나중에 호환이 되지 않아서 오류가 발생할 수 있습니다.
이런 오류를 방지하고자 기본틀을 만들어 주는 기능이 인터페이스 입니다.
인터페이스 구조
인터페이스 선언 시 class 명칭 대신 interface 명칭을 사용합니다.
인터페이스는 필드와 메소드를 가질수 있지만 생성자를 가질수는 없습니다.
일반적으로 인터페이스 멤버에는 어떠한 제한자도 붙이지 않습니다.
그러나 필드는 public static final, 메소드는 abstract 제한자를 붙인것과 동일하게 적용됩니다.
즉, 필드는 상수로 값을 변경할 수 없고 메소드는 추상으로써 몸체를 만들 수 없다는 의미입니다.
인터페이스는 추상클래스와 동일하게 일반적인 방식으로 객체(new)를 만들 수 없습니다.
그러나 추상클래스처럼 배열선언으로 사용이 가능합니다.
예제 코드
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
30
31
|
public class interfaceTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car[] car = new Car[2];
car[0] = new racingCar();
car[0].show();
car[1] = new electricCar();
car[1].show();
}
}
interface Car{
int i = 0;
void show();
}
class racingCar implements Car {
// Car 인터페이스에 있는 show 메소드가 구현이 안되어있으면 에러발생
public void show() {
System.out.println("Car interface 를 상속받은 racingCar 클래스");
}
}
class electricCar implements Car {
// Car 인터페이스에 있는 show 메소드가 구현이 안되어있으면 에러발생
public void show() {
System.out.println("Car interface 를 상속받은 electricCar 클래스");
}
}
|
cs |
자바 인터페이스란
자바 인터페이스 예제
'Computer Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 파일 분할, 파일 나누어 코딩하는 방법 (1) | 2021.03.16 |
---|---|
[JAVA] 자바 인터페이스란, 2개 이상의 인터페이스 구현하기 (0) | 2021.03.15 |
[JAVA] 자바 instanceof 연산자 (0) | 2020.12.16 |
[JAVA] 자바 추상클래스란 (0) | 2020.12.16 |
[JAVA] 오버로딩(overloading)과 오버라이딩(overriding) 차이점 (0) | 2020.12.13 |