티스토리 뷰
일반클래스
- 클래스 앞에 abstract 명령어가 붙지 않는다
- 일반클래스 내에서 메서드에 abstract 명령어를 붙일 수 없다.
- 객체 생성이 가능하다
class normalClass {
abstract public void function_A() {} // 에러!!! 일반 클래스에서는 추상메서드 사용 불가
public void function_B() {
System.out.println("normalClass");
}
}
추상 클래스
- 추상클래스는 클래스 앞에 abstract 명령어가 붙는 클래스를 의미한다
- 추상클래스 내에서는 메서드에 abstract를 붙일 수도 붙이지 않을 수도 있다.
- 객체 생성이 불가능하다
- 추상클래스가 추상클래스를 상속 받을 수도 있다
abstract class B_class {
abstract public void function_B() {} // 추상메서드 사용 가능하고 자식클래스에서 구현
public void function_B() { // 일반메서드도 사용 가능
System.out.println("Abstract class");
}
}
정리
추상 클래스와 일반 클래스는 큰차이는 없지만 추상 클래스에서는 추상 메서드를 선언하여 상속을 통해 자식 클래스에서 완성하도록 유도한다.
그래서 미완성 설계도라고 표현한다.
'Java > 주니어 자바 개발자를 위한 100가지 질문' 카테고리의 다른 글
[Java] List, Set, Map 의 특징과 차이 (0) | 2023.06.12 |
---|---|
[Java] 자바(Java)에서 final의 의미, 기능 (0) | 2023.05.25 |
객체 비교시 왜 equals()와 hashcode() 둘 모두를 재정의해야 하는가? (0) | 2023.05.24 |
[JAVA] ==와 equals의 차이 (0) | 2023.05.23 |
JDK와 JRE의 차이점은?? (0) | 2023.05.22 |