ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 추상 클래스와 인터페이스
    프로그래밍 언어/JAVA 2020. 3. 29. 18:10

    추상 클래스

    추상 메서드는 선언만 있고 구현이 없는 메서드

    public abstract class Event{

      public String title;

      public Evnet(String title){

        this.title = title;

      }

      

      public abstract boolean isRelevant(MyDate date);

    }

    추상 메서드를 하나라도 가지고 있으면 → 추상 클래스

     

    객체를 만들기 위해 클래스 정의, 그러나 아무 내용이 없는 메서드를 가지고 있다 → 추상 클래스는 객체를 만들 수 없다

    그럼 왜 추상 클래스가 필요한가?

    클래스는 객체를 만들기 위해서만 존재하지 않는다 

    어느 한 클래스의 서브 클래스를 만드는 용도 또한 중요

     

    부모 클래스의 함수를 적절히 구현하기 곤한할 때

     

    추상 클래스 사용예

    super class 타입의 배열 생성

    자식 class를 부모 타입의 클래스로 다이나믹 바인딩 함

    해당 자식들은 공통의 유사 기능의 메소드를 구현

    for 문을 통해 배열의 메소드 실행... compile 오류 발생!!! (부모 메서드는 작성되지 않았기 때문!!)

     

    인터페이스

    추상 클래스와 유사... 추상  클래스의 극단적인 형태/ 오직 abstract method로만 이루어져 있음

    인터페이스 안에는 어차피 추상 메서드만 있을 수 있으므로 abstract를 굳이 붙이지 않는다

    조금 더 generic 하게 만들 수 있다!!

     

    추상 메서드로만 구성된 추상 클래스는 인터페이스와 완전히 동일한가?

    중요한 차이점 - 다중 상속

    인터페이스는 아무 내용이 없는 것들이랑 다중 상속이 가능

    '프로그래밍 언어 > JAVA' 카테고리의 다른 글

    JVM3  (0) 2020.05.02
    JVM2  (0) 2020.04.26
    JVM  (0) 2020.04.26
    NIO - Buffer  (0) 2020.04.03
    객체, 클래스의 개념  (0) 2020.03.29
Designed by Tistory.