-
알기 쉬운 JAVA 추상 클래스(Abstract class)에 대해 알아보자프로그래밍/JAVA 2020. 5. 7. 18:33
추상 클래스(Abstract class)
추상 클래스란 일종의 미완성된 클래스라고 할 수 있다. 부모클래스의 메소드가 구체적인 값을 지정할 수 없을 때 추상메소드로 지정하고 상속받은 서브 클래스에서 부모 클래스를 오버라이딩하여 사용한다.
추상 클래스는 직접적으로 객체 인스턴스를 생성할 수 없지만, 부모 클래스에서 선언된 모든 추상 메소드를 서브 클래스에서 오버라이딩하여 실행 가능한 코드로 구현할 수 있도록 해준다.
설계 측면에서 정확히 어떤 메소드를 구현해야 할지 미리 알 수 있기 때문에 의미가 있다.
추상 메소드란, 선언은 되어 있으나 코드가 구현되지 않은 메소드를 말한다.
즉 헤더 부분은 선언하고 바디 부분은 선언하지 않는다.
추상 메소드를 선언하기위해 abstract 키워드를 사용한다.
// 추상 메소드를 하나라도 가지고 있는 클래스는 abstract를 붙인다. abstract public class Shape { int x, y; // 일반 메소드 public String getInfo(){ return "도형 클래스"; } // 추상 메소드 abstract public void area(int a, int b); }
도형을 만들기 위한 도형 클래스(Shape)를 만들고 도형의 넓이를 구하기 위한 메소드로 area를 작성하였다.
이 때, 도형의 모양에 따라 넓이를 구하는 공식이 다르기 때문에 바디부분은 선언하지 않는 abstract 메소드로 구현한다.
추상 클래스 사용
1. 추상 클래스를 상속받는 서브 클래스에서 슈퍼 클래스의 추상 메소드를 오버라이딩하여 사용한다.
2. 오버라이드 하지 않는다면 서브 클래스도 추상 클래스로 만든다.
추상 클래스의 목적
추상 클래스를 사용하면 추상 메소드를 통해 서브 클래스가 구현할 메소드를 명료하게 알려주는 인터페이스 역할을 하고, 다형성을 실현할 수 있다.
'프로그래밍 > JAVA' 카테고리의 다른 글
알기 쉬운 JAVA 벡터 클래스를 배열로 바꾸는 방법에 대해 알아보자 (0) 2020.05.13 알기 쉬운 JAVA 벡터 클래스(Vector class)에 대해 알아보자 (0) 2020.05.13 알기 쉬운 JAVA 내부 클래스(Inner class)에 대해 알아보자 (0) 2020.05.12 알기 쉬운 JAVA 예외 처리(Exception) 1. try ~ catch문에 대해 알아보자 (0) 2020.05.11 알기 쉬운 JAVA 인터페이스(Interface)에 대해 알아보자 (0) 2020.05.10