Backend/JAVA

[JAVA] interface

howdyoon 2023. 3. 21. 13:03

인터페이스 interface

- 추상메소드로만 구성되어 있다
- 추상클래스보다 더 추상화 되어 있다
- 상속 : extends 확장, implements 구현

[ 인터페이스 Creature 생성 후 실습 ]

//에러. 인터페이스는 직접 객체 생성 불가능
    //Creature creature=new Creature();

    //인터페이스에서의 다형성
    Creature creature=null;

    creature=new Tiger();
    creature.kind();
    creature.breathe();

    creature=new Salmon();
    creature.kind();
    creature.breathe();

[ 인터페이스 Creature ]

package oop0321;

interface Creature {
	//void disp() {} 에러. 일반 메소드는 사용불가
	abstract void kind(); //추상메소드
	void breathe();		  //abstract 생략가능
}//interface end

class Tiger implements Creature{
	@Override
	public void kind() {
		System.out.println("포유류");
	}

	@Override
	public void breathe() {
		System.out.println("허파");
	}
}//class end

class Salmon implements Creature{
	@Override
	public void kind() {
		System.out.println("어류");
	}

	@Override
	public void breathe() {
		System.out.println("아가미");
	}
	
}//class end