티스토리 뷰

일반클래스

  • 클래스 앞에 abstract 명령어가 붙지 않는다
  • 일반클래스 내에서 메서드에 abstract 명령어를 붙일 수 없다.
  • 객체 생성이 가능하다
class normalClass {

	abstract public void function_A() {} // 에러!!! 일반 클래스에서는 추상메서드 사용 불가

	public void function_B() {
    	System.out.println("normalClass");
    }
}

 

추상 클래스

  • 추상클래스는 클래스 앞에 abstract 명령어가 붙는 클래스를 의미한다
  • 추상클래스 내에서는 메서드에 abstract를 붙일 수도 붙이지 않을 수도 있다.
  • 객체 생성이 불가능하다
  • 추상클래스가  추상클래스를 상속 받을 수도 있다
abstract class B_class {

	abstract public void function_B() {} // 추상메서드 사용 가능하고 자식클래스에서 구현

	public void function_B() {		// 일반메서드도 사용 가능
    	System.out.println("Abstract class");
    }
}

 

 

정리


추상 클래스와 일반 클래스는 큰차이는 없지만 추상 클래스에서는 추상 메서드를 선언하여 상속을 통해 자식 클래스에서 완성하도록 유도한다.

그래서 미완성 설계도라고 표현한다.