-
[Java] 추상 메서드와 추상 클래스 개념(abstract)IT/개발(자바, 서블릿, 스프링 등) 2019. 12. 10. 01:15
추상이라는 의미는 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하는 것이다. 추상 메서드는 메서드의 이름과 매개변수, 리턴타입 등만 작성하고 구현 내용은 생략한다. 추상 메서드를 포함하는 클래스 역시 abstract 키워드를 붙여서 추상 클래스로 선언해주어야 한다. 이 클래스를 상속받은 클래스는 반드시 추상 메서드를 오버라이딩하여 메서드 본문을 구현해주어야 한다.
Employee.java abstract class Employee { String name; int salary; public abstract void calcSalary(); } class Salesman extends Employee { @Override public void calcSalary() { System.out.println("abstract test"); } }
추상 클래스를 상속받은 자식 클래스는 반드시 부모 클래스의 추상 메서드를 오버라이딩 해주어야 한다. 그런데 자식 클래스에서 추상 메서드를 오버라이딩하고 싶지 않다면, 추상 메서드를 상속받은 상태 그대로 가지고 있는 것이므로 자식 클래스도 추상 클래스가 되어야 한다. abstract로 선언해주어야 한다.
추상 클래스는 완전하게 설계된 클래스가 아니므로 new 명령문으로 인스턴스를 생성할 수 없다.
'IT > 개발(자바, 서블릿, 스프링 등)' 카테고리의 다른 글
[Java] 자바 API 문서 (0) 2020.01.18 [Java] interface (0) 2019.12.10 [Java] final 키워드 개념 정리 (0) 2019.12.09 [Java] 상속 개념과 사용법 그리고 super() 문으로 부모 인스턴스 초기화하는 방법 (0) 2019.12.09 [Java] this 키워드로 생성자 호출 (0) 2019.12.09