인터페이스
1. 인터페이스는 구현메서드는 포함하지 않으며, 100% 추상메소드로 이루어져 있다.
인터페이스는 장애객체때문에
RemoCon rc = new RemoCon(); 객체 생성불가!!
public interface RemoCon {
public int MAXCH=100;
public static final int MINCH=1;
public void chUp();
public void chDown();
public void internet() ;
}
2. 인터페이스 내에 있는 필드 앞에 static이 붙는 이유
public static final int MAXCH = 100;
public static final int MINCH=1;
→인터페이스는 객체 생성이 불가하므로 구현클래스에서 객체생성없이 사용하기 위함--------ex)RemoCon.MAXCH
3. 인터페이스 내에 있는 필드 앞에 final이 붙는 이유
변수는 변하는 값이고, 상수는 정해진 값이다.
예를 들어 final 변수 = 100;
위와 같이 변수 앞에 final을 써주면
변수에 100을 대입한 후에는 다른 어떤 값도 대입할 수 없다. 따라서 상수가 된다.
※인터페이스 객체 생성불가 ---> static
※상수로 만들기 위함 --------->final
※인터페이스의 필드는 항상 static final이 생략됨
4. 인터페이스는 100% 추상메서드로 이루어져 있기 때문에 그 추상메서드는 구현클래스에서
반드시 오버라이 (Overring)되어야 한다.
public class Radio implements RemoCon {
@Override
public void chUp() {
System.out.println("Radio 채널이 올라간다.");
}
@Override
public void chDown() {
System.out.println("Radio 채널이 내려간다.");
}
@Override
public void internet() {
System.out.println("Radio 인터넷이 지원되지 않는다.");
}
}
'자바 > Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글
Object 클래스는 신이야 (0) | 2022.10.27 |
---|---|
추상클래스 vs 인터페이스 (0) | 2022.10.27 |
추상클래스(일부 다형성 보장) (0) | 2022.10.27 |
다형성 (0) | 2022.10.26 |
부모와 자식간에는 형변환이 된다. & 나보다 부모가 먼저야 (0) | 2022.10.26 |