• 추상 클래스
① 추상 메서드를 1개 이상 가지고 있는 클래스이다.
② abstract 키워드를 추가한다.
③ 추상클래스는 객체를 생성할 수 없다. (미완성 된 클래스이기 때문이다.)
④ 추상클래스의 서브 클래스는 "반드시" 추상 메서드를 오버라이드 해야한다.
예시 ex)
호출을 위해서 생성한 study
본무이 필요 없기 때문에 본문이 없는 메서드로 만들 수 있다.
본문이 없는 메서드를 "추상 메서드"라고 한다.
abstract 키워드를 추가하고 본문({})을 제거한다.
• 인터페이스(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 { }
인터페이스를 구현한 클래스는 "반드시" 추상 메서드를 오버라이드 해야 한다.( 빨간네모)
'코딩기록 저장소 🐕 > 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 |