추상메서드,클래스란?
추상 메서드,클래스는 부모 클래스에서 정의한 메서드 바디가 자식 클래스에서 메소드의 바디를 모두 재사용하게되었을경우 부모 클래스에서 정의한 메서드는 모두 무용지물이 된다. 즉 부모클래스에서 정의한 메서드의 시그니처(리턴형, 식별자, 매개인자 등)느 모든 자식 클래스에서 일관되게 사용하되 메서드의 바디는 서로 다른 내용으로 기술 때 어차피 메서드의 바디를 자식 클래스별로 채울 것이므로 해당 메서드를 부모 클래스에서 추상 메서드로 정의하는 것이 현실적이다.
사용방법
추상클래스는 메서드의 리턴형 앞에'abstract'라는 예약어와 일반적인 메서드의 바디가 ';'로 생략한다. 또한 추상 메서드를 하나 이상 포함하고 있는 클래스에서도 'abstract' 예약어를 명기해야 한다.
public abstract class TopClass
{
abstract void displayMessage(); //바디가 없다는 것에 주의하자
}
예제)
public abstract class TopClass
{
abstract void displayMessage(); //바디가 없다는 것에 주의하자
}
public class DownClass extends TopClass
추상 메서드,클래스는 부모 클래스에서 정의한 메서드 바디가 자식 클래스에서 메소드의 바디를 모두 재사용하게되었을경우 부모 클래스에서 정의한 메서드는 모두 무용지물이 된다. 즉 부모클래스에서 정의한 메서드의 시그니처(리턴형, 식별자, 매개인자 등)느 모든 자식 클래스에서 일관되게 사용하되 메서드의 바디는 서로 다른 내용으로 기술 때 어차피 메서드의 바디를 자식 클래스별로 채울 것이므로 해당 메서드를 부모 클래스에서 추상 메서드로 정의하는 것이 현실적이다.
사용방법
추상클래스는 메서드의 리턴형 앞에'abstract'라는 예약어와 일반적인 메서드의 바디가 ';'로 생략한다. 또한 추상 메서드를 하나 이상 포함하고 있는 클래스에서도 'abstract' 예약어를 명기해야 한다.
public abstract class TopClass
{
abstract void displayMessage(); //바디가 없다는 것에 주의하자
}
예제)
public abstract class TopClass
{
abstract void displayMessage(); //바디가 없다는 것에 주의하자
}
public class DownClass extends TopClass
{
public void displayProductInfo()
{
System.out.println("추상클래스 예제");
}
}
public void displayProductInfo()
{
System.out.println("추상클래스 예제");
}
}
반응형
'기타 > 프로그래밍 분류' 카테고리의 다른 글
Java - 20.참조 (0) | 2011.07.03 |
---|---|
JAVA - 19 인터페이스 (0) | 2011.07.03 |
JAVA - 17.오버라이드,오버로드 (0) | 2011.07.02 |
JAVA - 16.상속 (0) | 2011.07.02 |
Java - 15.생성자 (0) | 2011.07.01 |