[Java]인터페이스에 대해 알아보자!!

재피터노트북·2022년 10월 1일
1

참고자료

반말로 적겠습니다. ㅋ

인터페이스(interface)란??

인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역활까지 담당하는 일종의 추상 클래스를 의미함.

그러면 여기서 질문 추상 클래스란 무엇인가 ??(나도 잘 몰랐음)

  • 추상 클래스

    • 하나 이상의 추상 메소드를 포함하는 클래스를 가리켜 추상 클래스라고함.
  • 추상 메서드(abstract method)

    • 자식 클래스에서 반드시 오버라이딩 해야만 사용할 수 있는 메서드를 의미!
  • 추상 메소드의 목적

    • 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함!!
  • 문법

    • abstract 반환타입 메소드이름();

예제

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();

    }

}

// 출력결과!!
// 냐용냐용!!
// 멍멍!!
profile
난 이 재 선

0개의 댓글