추상클래스와 추상메소드 |
추상메소드를 가지고있는 클래스를 추상클래스라고한다. 즉 구현은 되어있지않고 틀만 잡아놓은 클래스이다.
abstract 키워드를 이용한다.
일반 클래스에서 추상클래스를 상속받아 메소드 오버라이딩하여 정의가 가능하다.
abstract class hello{ //접근제한자(public, protected, private)는 abstract키워드 앞에 올수있다 . int a = 10; abstract public void hi(String name); abstract public void say_hello();
} public class abstractClassEx extends hello{ //추상클래 hello상속 public static void main(String[] args) { abstractClassEx ac = new abstractClassEx(); ac.hi("JiYeon"); ac.say_hello();
ac.a = 20; ac.hi("G.ma");
} @Override public void hi(String name) { //hello클래스의 메소드 오버라이딩(추상메소드 정의). // TODO Auto-generated method stub System.out.println(a); System.out.println("hi,"+name); } @Override public void say_hello() { //hello클래스의 메소드 오버라이딩(추상메소드 정의). // TODO Auto-generated method stub System.out.println("hello!"); }
}
|
추상클래스를 상속받고 추상클래스안의 추상메소드를 정의해주지않으면 에러가나므로, 추상메소드를 오버라이딩 해주어야한다.
결과화면
10 hi,JiYeon hello! 20 hi,G.ma
|
'FALL in > G.MA' s 자바' 카테고리의 다른 글
익명내부클래스 (0) | 2016.04.12 |
---|---|
인터페이스와 다중상속 (0) | 2016.04.12 |
오버라이딩 (0) | 2016.04.12 |
오버로딩 (0) | 2016.04.12 |