본문 바로가기

FALL in/G.MA' s 자바

추상클래스와 추상메소드


추상클래스와 추상메소드 


추상메소드를 가지고있는 클래스를 추상클래스라고한다. 즉 구현은 되어있지않고 틀만 잡아놓은 클래스이다.

 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