코딩기록 저장소 🐕/JAVA

추상메소드 abstract, interface

kimkongmom 2023. 7. 26. 10:43

 

 

 

 

추상 클래스

  ① 추상 메서드를 1개 이상 가지고 있는 클래스이다.
  ② abstract 키워드를 추가한다.
  ③ 추상클래스는 객체를 생성할 수 없다. (미완성 된 클래스이기 때문이다.)
  ④ 추상클래스의 서브 클래스는 "반드시" 추상 메서드를 오버라이드 해야한다.

 

예시 ex)

호출을 위해서 생성한 study
   본무이 필요 없기 때문에 본문이 없는 메서드로 만들 수 있다.
   본문이 없는 메서드를 "추상 메서드"라고 한다.
   abstract 키워드를 추가하고 본문({})을 제거한다.

main

인터페이스(interface)

  ① JDK 1.7 이전에는 추상 메서드로만 구성된 추상 클래스를 의미했다.
  ② JDK 1.8 이후로는 "추상 메서드 + default 메서드 + static 메서드 + final 상수"로 구성된다.
     1) 추상 메서드    : 본문이 없는 메소드
     2) default 메서드 : 본문이 있는 메소드
     3) static 메서드  : 클래스 메서드 (본문 있음)
  ③ 인터페이스의 추상 메소드는 public abstract를 생략할 수 있다.
    

 ▶ 클래스 상속 vs 인터페이스 구현  
    클래스를 상속받는다.
     public class Person { }
     public class Student extends Person { }
    인터페이스를 구현한다.
     public interface Shape{ }
     public class Rectangle implements Shape { }

인터페이스를 구현한 클래스는 "반드시" 추상 메서드를 오버라이드 해야 한다.( 빨간네모)

main
결과

 

 

 

 

 

'코딩기록 저장소 🐕 > JAVA' 카테고리의 다른 글

< generic >  (0) 2023.07.26
interface 예제 집합소  (0) 2023.07.26
java.lang.Object 클래스  (0) 2023.07.25
downcasting, Objedt클래스 맛보기  (0) 2023.07.25
Person, Coffee, GameUnit 예제  (0) 2023.07.25