본문 바로가기
언어/Java

Java 기본 6 - 추상클래스

by 넬준 2021. 5. 24.

기본개념

객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 하는데 이 클래스들의 공통 특성을 뽑아 선언한 클래스를 추상 클래스라고 한다.

 

추상 클래스와 실체 클래스는 상속의 관계다.

 

추상 메소드를 선언하여 상속을 통해 자식 클래스가 완성하도록 하는 클래스다. '미완성 설계도'

 

추상 클래스는 객체를 직접 생성해서 사용할 수 없다. (즉, new 연산자를 사용해 인스턴스를 생성할 수 없다.)

 

용도

1. 실체 클래스의 공통된 필드와 메소드의 이름을 통일

2. 실체 클래스를 작성할 때 시간을 절약

 

선언

추상 클래스와 추상 메소드 모두 'abstract' 키워드를 사용하고, 추상 메소드는 실행 내용이 담긴 {}(중괄호)부분이 생략된다.

 

추상 메소드와 오버라이딩

실체 클래스들의 메소드 선언만 통일하고, 실행 내용은 각 실체 클래스에서 정의하도록 하기 위해 

추상 클래스에서 추상 메소드를 선언한다.

 

추상 메소드는 추상 클래스에서만 선언할 수 있다.

 

추상 클래스를 상속받는 하위클래스에서 반드시 추상 메소드를 구현해야한다.(오버라이딩)

public abstract class Phone {
	//추상 클래스 Phone에서 추상 메소드 ring() 선언
	public abstract void ring();
}
public class GalaxyPhone extends Phone{
	//추상 클래스 Phone을 상속받은 GalaxyPhone클래스에서 추상 메소드인 ring()을 오버라이딩 해야한다.
    @Override
	public void ring() {
		System.out.println("링링링");
	}//ring() end
}

'언어 > Java' 카테고리의 다른 글

for-each문과 for문의 차이  (0) 2021.11.03
싱글톤 Singleton  (0) 2021.10.20
Java 기본 5 - Enum  (0) 2021.05.23
연산자  (0) 2021.05.20
자료형  (0) 2021.05.20

댓글