본문 바로가기
JAVA

JAVA - 추상클래스

by whitedeveloper 2022. 12. 19.

- 상속에서 슈퍼클래스로 사용

 

#.추상메소드

-선언은 되어 있으나 코드가 구현되어 있지 않은 메소드

-abstract 키워드와 함께 원형만 선언하고 코드 작성x

 

ex)

public abstract String getName();

public abstract String fall() {return "Good Bye";} // 코드가 작성되어 있으므로 컴파일 오류

 

#.추상클래스

-abstract 키워드로 선언

-추상 메소드를 포함하는 클래스 *추상메소드가 있으면 무조건 추상클래스로 선언해야한다

-추상 메소드가 없지만 abstract로 선언한 클래스

 

-추상 클래스는 객체를 생성할 수 없다.

 >추상 클래스는 객체를 생성할 목적으로 만드는 클래스가 아니다

 >추상 클래스는 실행 코드가 없는 미완성 상태인 추상 메소드가 있을 수 있기 때문

 

 

#.추상 클래스의 상속

-상속 받는 서브 클래스는 추상 클래스가 된다. 그러므로 서브 클래스에 abstract를 붙여 추상클래스임을 명시해야한다.

 

#.추상 클래스 구현 및 목적

-추상 클래스 구현

 >슈퍼 클래스에 선언된 모든 추상 메소드를 서브 클래스에서 오버라이딩하여 실행 가능한 코드로 구현하는 것

추상 클래스 구현

-추상 클래스 목적

 >추상 메소드를 통해 서브 클래스가 구현할 메소드를 명료하게 알려주는 인터페이스 역할

 >서브 클래스는 추상 메소드를 목적에 맞게 구현하는 다형성 실현

 

#.추상 클래스의 용도

-추상 클래스에 선언딘 추상 메소드를 반드시 모두 구현해야한다.

-목차를 잡아놓고 책을 쓰면 방향이 흐트러지지않고 더 쉽게 작성할 수 있 듯 응용 프로그램의 설계와 구현을 분리할 수 있다.

-계층적 상속 관계를 가지는 클래스들의 구조를 만들 때 적합

 

'JAVA' 카테고리의 다른 글

JAVA - 인터페이스와 추상클래스 비교  (0) 2022.12.20
JAVA - 인터페이스  (0) 2022.12.20
JAVA - 캐스팅(casting)  (0) 2022.12.19
JAVA - final  (0) 2022.12.17
JAVA - static / non-static  (0) 2022.12.17