자바 추상클래스

자바 추상클래스

추상클래스란?

1. abstract class로 정의된 클래스를 추상클래스라 한다.

2. 추상클래스는 new예약어로 객체생성을 못한다.

3. 추상클래스는 일반메서드와 추상메서드가 올 수 있다.

4. 추상메서드는 abstract로 정의된다.

5. 추상메서드는 {}중괄호가 없고 중괄호 안의 실행문장이 없다. 그렇기 때문에 추상메서드는 호출 할 수가 없다.

6. 추상메서드를 하나라도 가지는 클래스는 추상클래스여야 한다.

7. 추상클래스를 상속받은 자식클래스에서 모든 추상메서드를 오버라이딩 해야한다.

8. 추상클래스로 레퍼런스 변수 선언 가능.

9. 추상클래스로 업캐스팅 가능

<추상메서드 예제>

package test; abstract class Father177{ abstract void m01();//추상메서드 정의 void m02(){ System.out.println("일반 메서드 정의"); } } //추상클래스도 extends 예약어로 상속받음 class Son177 extends Father177{ @Override void m01() { System.out.println("추상메서드 오버라이딩"); } } public class AbsTest02 { public static void main(String[] args) { Son177 s=new Son177(); s.m01();//오버라이딩 된 메서드를 호출 s.m02();//상속받아서 호출 System.out.println("-------------------------------"); Father177 f=null;//부모클래스로 변수 선언 /* * 1. 추상클래스로 레퍼런스 변수 선언 가능. * 2. 추상클래스로 업캐스팅이 가능 */ f=s;//업캐스팅 f.m01();//오버라이딩 된 메서드를 호출 f.m02();//상속받아서 호출 } }

from http://betterwave.tistory.com/21 by ccl(A) rewrite - 2021-12-03 02:02:00