추상이란 여러 사물에서 공통되는 특성이나 속성을 추출한 것을 말한다. 추상화는 상속(extends)의 확장 개념으로 추상클래스와 실체클래스 간에는 상속 관계가 있다.

 


 실체 클래스가 개미와 베짱이라면 추상클래스는 상위의 개념인 곤충이다. 모든 곤충이 가진 공통된 특성이 있다면 일반화하고 개미와 베짱이 클래스를 만들 때는 개별 곤충이 가진 특성만 정의해주면 되니 코드가 간결해지고 작업 또한 빨라진다.


사용형식


1. 일반메소드 형식

ReturnType 메소드명(){

실행명령

}

2, 추상 메소드는 브레이스가{ } 없다

Abstract ReturnType 메소드명();

3. 추상 클래스

추상 메소드가 하나라도 있으면 추상 클래스이다.

Abstract class 클래스명( )

 

4, 5 추상 클래스는 단독으로 객체를 생성할 수 없다. 반드시 상속받은 곳에서 재정의해서 사용해야 한다.

 

 사용형식에 맞춰 예제를 준비했다. 코드를 작성하고 번호 순서대로 따라가면 개념을 이해할 수 있다. 문돌이의 모든 글은 복사가 가능하니 번거롭다면 드래그 & 복사해서 사용하면 된다. 




abstract class Abstract1{ // 3. 추상메소드가 하나라도 있으면 추상 클래스이다.

 int vI01 = 10;

 abstract void Abstract1(); // 2. 추상 메소드는 { } 가 없다.

 

 /*abstract void Abstract1(){ 1. 추상 메소드 에러 확인

 System.out.println("추상 메소드 확인");

 }*/

}

 

class AbstractMain extends Abstract1{

 

 void Abstract1(){ // 5. 추상클래스는 단독으로 객체를 생성할 수 없고 상속 받은 곳에서 Overriding(재정의)해서 사용해야 한다.

 System.out.println("추상 메소드 확인");

}

 

public static void main(String[] args) {

 AbstractMain obj = new AbstractMain(); // 4.추상클래스는 단독으로 객체를 생성할 수 없다.

 obj.Abstract1();

 }

}


+ Recent posts