package test;
interface Animalable {
// 모든 멤버는 public 접근지정자가 옴
// static final 상수 필드만 올 수 있음
int RED =1;
public static final int BLUE = 2;
// 모든 메소드는 추상메소드만 올 수 있음
void speak();
public abstract void eat();
// 인터페이스는 다중상속 가능
}
class Puppy2 implements Animalable {
@Override
public void speak() {
System.out.println("멍멍~");
}
@Override
public void eat() {
System.out.println("강아지가 밥을 먹는다");
}
}
public class Test7 {
public static void main(String[] args) {
// interface 키워드. 인터페이스=규격=약속
System.out.println(Animalable.RED);
//Animalable.RED=10; // 상수이므로 수정 안됨
System.out.println(Animalable.BLUE);
Animalable ani;
ani = new Puppy2();
ani.speak();
// ani = new Animalable(); // 인터페이스는 객체생성 용도 아님
}
}
'IT > Java' 카테고리의 다른 글
자바 추상메소드, 인터페이스를 이해할 수 있는 순차적 예제1 (0) | 2018.07.23 |
---|---|
자바 데이터베이스 연동 (0) | 2018.07.22 |
자바 추상클래스 (0) | 2018.07.21 |
자바 static, final (멤버변수, 메소드, 클래스) (0) | 2018.07.20 |
자바 static, 클래스변수, 인스턴스변수 사용 예제 (0) | 2018.07.20 |