반응형
추상 클래스는 자바에서 중요한 개념 중 하나이다.
자주 사용하지 않아 가끔씩 머릿속에서 잊어버리는 개념 중 하나이기에 다시 한번 기록하고 예제를 통해 알아보도록 하자.
▷ 추상 클래스(abstract class)
추상 클래스는 선언부만 있고 실행부가 없는 미완성 메소드를 가지고 있는 클래스이다.
추상 클래스는 'abstract' 키워드로 정의되며, 이를 상속받는 하위 클래스에서 구체적으로 구현되어야 한다.
| 추상 클래스
abstract class Mang{ // 추상 클래스
abstract void MangInfo(); // 추상 메소드
}
| 추상 클래스 특징
- 추상 클래스 자체로는 객체를 생성할 수 없다.
- 추상 클래스는 일부 메소드를 구현할 수 있다.. ( 이 경우 하위 클래스는 필요한 부분만 오버라이딩 할 수 있음)
- 추상 클래스를 상속받는 하위 클래스는 반드시 모든 추상 메서드를 구현해야 한다.
한 예제를 통해 더욱 자세하게 알아보자.
abstract class Info{ // 추상 클래스 선언
double width;
double height;
public Info(double width, double height){
this.width = width;
this.height = height;
}
public void printInfo(){
System.out.println("너비 : " + width);
System.out.println("높이 : " + height);
}
abstract void Cal(); // 추상 메소드 선언
//Cal()은 명령문이 정의되지 않은 추상 메소드이며
//이런 추상 메소드가 하나라도 있으면 그 클래스는 추상 클래스임.
}
class Summary extends Info{ // Info클래스 상속
public Summary(){
super(26.5, 46.6); // 부모 클래스 생성자를 super로 호출
printInfo();
}
public void Cal(){ // Cal() 추상 메소드를 완성시킴
System.out.println("넓이 : " + (width*height));
}
}
class Main{
public static void main(String[] args){
Summary summary = new Summary();
summary.Cal();
}
}
Summary summary = new Summary();가 실행되면 Summary 클래스의 생성자가 호출된다.
생성자 내부에서 super(26.5, 46.6);이 호출되어 Info 클래스의 생성자가 실행되며, width와 height가 초기화.
이어서 printInfo() 메소드가 호출되어 width와 height의 값을 출력한다.
마지막으로 Cal() 메소드가 호출되면서 width와 height를 곱한 넓이가 출력된다.
이렇게 추상 클래스에 대한 개념과 예제를 통해 다시 알아보았다.
실제 코딩에서도 이를 적절히 활용한다면 더욱 효율적이고 유지보수하기 쉬운 프로그램을 작성할 수 있을 것이다.
위 글 개념 오류와 코드 오류가 있다면 댓글로 알려주시면 감사합니다!
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] length(), charAt() 메소드에 대하여 빠르게 알아보기(자바 함수) (1) | 2024.11.13 |
---|---|
[Java 자바] 인터페이스(Interface)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 인터페이스) (0) | 2024.08.26 |
[Java 자바] 상속(Inheritance)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 상속) (0) | 2024.08.06 |
[Java 자바] 배열(Arrays)에 대한 모든 것 : 기본 개념부터 코드까지 (자바 Arrays) (0) | 2024.07.30 |
[Java 자바] this 키워드 사용하는 이유? this에 대해 알아보자 (자바 this) (0) | 2024.07.29 |