본문 바로가기
Java

[Java] 추상클래스와 인터페이스

by doongjun 2021. 11. 30.

추상클래스

클래스 구현부 내부에 추상 메서드가 하나 이상 포함되어 있거나 abstract로 정의된 class

- new 연산자를 사용하여 객체를 생성할 수 없다.

- 일반 변수를 가질 수 있다.

- 동일한 부모를 가지는 클래스를 묶는 개념으로 상속을 받아서 기능을 확장시키는 것이 목적이다.

- 단일 상속만 가능

 

인터페이스

모든 메서드가 추상 메서드

- new 연산자를 사용하여 객체를 생성할 수 없다.

- static final 필드만 가질 수 있다.

↓ Why? ↓

더보기

1. 구현 객체의 같은 동작을 보장하기 위해

2. 인터페이스의 변수는 스스로 초기화 될 권한이 없음

3. 아무 인스턴스도 존재하지 않는 시점이기 때문

 

※ 인터페이스에 필드와 메서드를 선언하면 컴파일러가 자동으로 키워드를 붙여 해석한다.

- 구현 객체가 같은 동작을 하는 것을 보장하기 위한 것이 목적이다.

- 다중 상속 가능

↓ 상속방법? ↓

더보기

클래스끼리 인터페이스끼리 상속 할 때는 extends

클래스가 인터페이스를 상속받을 때는 implements

 

 

참고

https://myjamong.tistory.com/150

 

[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽

추상클래스 인터페이스 왜... 사용할까? 우리는 추상클래스와 인터페이스에 대해서 알고 있냐고 누가 물어본다면 알고 있다고 대답을 하고있습니다. 그런데 이론적인 내용 말고 정작 "왜 사용하

myjamong.tistory.com

https://cbw1030.tistory.com/47

 

[01] 추상클래스와 인터페이스의 차이가 뭐죠?

추상 클래스(abstract class) 클래스는 일반 클래스(concrete class, )와 추상 클래스로 나뉘는데 추상 클래스는 클래스 구현부 내부에 추상 메서드가 하나 이상 포함되거나 abstract로 정의된 경우를 말한

cbw1030.tistory.com

'Java' 카테고리의 다른 글

[Java] BufferReader로 입력받기  (0) 2021.11.30
[Java] HashMap을 Value 기준으로 정렬하는 방법  (1) 2021.11.12
[Java] JRE와 JDK  (0) 2021.07.20
[Java] HashMap 함수 사용하기  (0) 2021.06.16

댓글