2013년 1월 11일 금요일

[Java] 추상클래스

왜 사용될까?

public abstract class InputStream{}

이러한 추상 클래스가 있다.
InputStream이란 이름만 보면 왠지 입력과 출력에 관련된 클래스라고 느낄 수 있다.
그렇기에 당연히 입력과 출력에 관련된 함수들이 존재할 것이다.

실제로

abstract int read();

라는 메소드가 존재한다.

추상 클래스에를 상속하면 무조건 abstract(추상) 메소드를 오버라이딩하여 사용하여야한다. 부모 클래스의 이름을 보면 알수 있듯이 입출력과 관련된 부모클래스라면 이 클래스를 상속받는 자식클래스에도 부모가 가지고 있는 메소드를 오버라이딩 할수 밖에 없도록 제약을 가하면서 가이드라인을  만들어 놓은 것이다.

또한 추상클래스를 상속받아 오버라이딩해야 하기 때문에 추상 클래스의 객체를 만들어 사용할 수 없다. 즉, 추상클래스는 new 키워드로 객체를 생성할 수 없다.

댓글 없음:

댓글 쓰기