자바 기초-추상 클래스(abstract class) 구현하기

조정우·2022년 6월 26일

자바 기초

목록 보기
51/61
post-thumbnail

2022.06.26

추상 클래스란?

클래스를 설계도라 한다면 추상클래스는 미완성 설계도라 할 수 있다
추상메서드(미완성 메서드)를 포함하고 있는 클래스이다
구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스
메서드 선언(declaration) : 반환타입, 메서드 이름, 매개변수로 구성
메서드 정의(definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body) 를 가짐 ({ })

예) int add(int x, int y); // 선언
int add(int x, int y){ } // 구현부가 있음, 추상 메서드 아님
abstract 예약어를 사용
꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우에 사용
추상클래스를 상속받는 자손클래스에서 추상메서드의 구현부를 완성해야 한다
추상 클래스는 new 할 수 없음 ( 인스턴스화 할 수 없음 )
일반 메서드는 추상메서드를 호출할 수 없다
다른 클래스를 작성하는데 도움을 줄 목적으로 작성

추상 클래스 구현하기

메서드에 구현 코드가 없으면 abstract 로 선언
abstract로 선언된 메서드를 가진 클래스는 abstract로 선언
모든 메서드가 구현 된 클래스라도 abstract로 선언되면 추상 클래스로 인스턴스화 할 수 없음
추상 클래스의 추상 메서드는 하위 클래스가 상속 하여 구현
추상 클래스 내의 추상 메서드 : 하위 클래스가 구현해야 하는 메서드
추상 클래스 내의 구현 된 메서드 : 하위 클래스가 공통으로 사용하는 메서드 ( 필요에 따라 하위 클래스에서 재정의 함 )
예제 구현하기






추상화 : 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업
구체화 : 상속을 통해서 클래스를 구현, 확장하는 작업

profile
코딩관광

0개의 댓글