참고자료
반말로 적겠습니다. ㅋ
인터페이스(interface)란??
인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역활까지 담당하는 일종의 추상 클래스를 의미함.
그러면 여기서 질문 추상 클래스란 무엇인가 ??(나도 잘 몰랐음)
-
추상 클래스
- 하나 이상의 추상 메소드를 포함하는 클래스를 가리켜 추상 클래스라고함.
-
추상 메서드(abstract method)
- 자식 클래스에서 반드시 오버라이딩 해야만 사용할 수 있는 메서드를 의미!
-
추상 메소드의 목적
- 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함!!
-
문법
예제
abstract class Animal { abstract void cry(); }
class Cat extends Animal { void cry() { System.out.println("냐옹냐옹!"); } }
class Dog extends Animal { void cry() { System.out.println("멍멍!"); } }
public class Polymorphism02 {
public static void main(String[] args) {
// Animal a = new Animal(); // 추상 클래스는 인스턴스를 생성할 수 없음.
Cat c = new Cat();
Dog d = new Dog();
c.cry();
d.cry();
}
}
그럼이제 인터페이스를 구현해봐요!!
interface Animal { public abstract void cry(); }
class Cat implements Animal {
public void cry() {
System.out.println("냐옹냐옹!");
}
}
class Dog implements Animal {
public void cry() {
System.out.println("멍멍!");
}
}
public class Polymorphism03 {
public static void main(String[] args) {
Cat c = new Cat();
Dog d = new Dog();
c.cry();
d.cry();
}
}
// 출력결과!!
// 냐용냐용!!
// 멍멍!!