본문 바로가기
JAVA

32. 인터페이스

by NamGH 2023. 8. 7.

인터페이스는 다중 상속이 가능하다

인터페이스 안에 들어가는 변수는 자동으로 static이 붙는다

인터페이스는 다형성을 극대화 한것으로 유지보수성을 높이기 위해 사용한다


interface Camera{
void takePhoto();
}
interface Music{
void playMusic();
}
interface View{
public void view(); // 대소문자의 차이로 생성자가아님
}
class Shape2{
private int size;
private String color;
void setSize(int size) {
this.size = size;
}
void setColor(String color) {
this.color = color;
}
int getSize() {
return size;
}
String getColor() {
return color;
}
}
class Phone extends Shape2 implements Camera, Music{
@Override
public void playMusic() {
System.out.println("음악감상");
}
@Override
public void takePhoto() {
System.out.println("사진찍기");
}
}
public class Ex17 {
public static void main(String[] args) {
Phone p = new Phone();
p.playMusic();
p.takePhoto();
Shape2 s2 = new Shape2();
s2.setSize(123);
s2.setColor("blue");
System.out.println(s2.getSize());
System.out.println(s2.getColor());
}
}

상속과는 달리 extends 대신 implements를 사용한다

만약 상속과 인터페이스를 한클래스에 사용한다 면  상속이 앞에오고 인터페이스가 뒤로간다

다음 예제는 객체를 입맛대로 설정해 원하는 값만을 뽑아내는 코드이다 

s2의 경우는 set과 get을 이용해 값을 s2 size와 color에 집어넣은것이다

'JAVA' 카테고리의 다른 글

34. 내부클래스  (0) 2023.08.08
33. 예외처리  (0) 2023.08.08
31. 다형성  (0) 2023.08.07
30. 상속의상속  (0) 2023.08.07
29. 상속  (0) 2023.08.07