Programming/Java
[Java] 추상 클래스
yh_126
2021. 1. 22. 18:02
반응형
클래스 안에 일반 메소드도 정의 할 수 있으나 인터페이스는 추상 메소드만 정의 할 수 있다.
1. 추상 메소드
메소드 정의부만 존재하고 메소드를 구현하지 않은 형태의 메소드를 의미
→ 메소드 이름 뒤에 구현부 " { } " 가 없는 메소드
abstract 리턴타입 메소드이름(); abstract void abstractMethodName(); |
2. 인터페이스
- 특정 형태의 클래스들이 사용 할 수 있는 메소드 명세를 정의
추상 클래스와 비슷하지만 오직 상수나 추상 메소드만 정의 할 수 있다.
→ 인터페이스 안에서 추상 메소드를 정의 할 때는 abstract 예약어를 생략 가능 ( 자동으로 public abstract 가 지정된다. )
상수를 정의 할 때에도 자동으로 public static final 이 지정 되므로 해당 예약어를 생략 할 수 있다.
interface 인터페이스이름 { 상수; 추상 메소드; } interface InterfaceName{ int number = 1; void abstractMethod(); } |
- 추상 클래스 처럼 인터페이스를 이용해 객체를 생성 할 수 없다.
특정 클래스가 구현한 후 구현 클래스 객체를 통해 사용, 인터페이스를 구현할 때는 implements 예약어를 사용한다.
- 자바는 단일 상속만 지원한다.
클래스가 이미 다른 클래스를 상속 받았으면 인터페이스를 implements 해서 다른 기능을 사용할 수 있다.
ClassName1 extends ClassName2 implements InterfaceName{ } |
- 인터페이스 간의 상속도 가능하다. 또한 클래스에서 허용하지 않던 다중 상속도 인터페이스에서는 허용된다.
interface I1{ } interface I2{ } interface I3 extends I1, I2{ } |
![]() 오정원. (2019). 꼭 알아야 하는 Java Programming. 경기: 혜지원. 책을 보고 공부한 내용에 제가 이해한 바를 기록한 것입니다.자세한 사항은 해당 교재를 참고하여 주세요 ! |
반응형