자바에서 가장 핵심적이고 중요하다고 하는 상속은

C++에서는 콜론(:)을 상속의 키워드로 사용하며, 자바에서는 extends라는 키워드를 사용합니다.

간단히 예제를 보면 이해하실 수 있어요 ㅎㅎ


/**
 * Created with IntelliJ IDEA.
 * User: hahahia
 * Date: 12. 10. 13
 * Time: 오후 7:18
 */

import java.awt.*;
class HelloFrame extends Frame{ // 프레임을 상속받은 HelloFrame 클래스
    // 단순히 상속만 받음
}
public class FrameMain {
    public static void main(String[] args){
        HelloFrame h = new HelloFrame();  // HelloFrame 객체 생성
        h.setSize(200,200);
        h.setVisible(true);   // 화면에 나타냄
    }
}

상속의 원리가 상위 클래스의 모든 것을 다 받는다면 생성자도 상속받을까? 여기서 답은 No. 생성자는 상속되지 않습니다. 단지 자식에 의해서 자동으로 호출될 뿐... 예제를 살펴보면 이해가 빠르겠네요.




// GrandOfFather.java

public class GrandOfFather {
    public GrandOfFather(){
        System.out.println("상속 1세대 ");
    }
    public void getGrandOfFather(){
        System.out.println("getGrandOfFather 호출");
        for(int i=0; i<10; i++){
            System.out.print(i + " ");
        }
        System.out.println();
    }
}


// Father.java

public class Father extends GrandOfFather{
    public Father(){
        System.out.println("상속 2세대 ");
    }
    public void getFather(){
        System.out.println("Father 호출");
        for(int i=10; i<20; i++){
            System.out.print(i + " ");
        }
        System.out.println();
    }
}


// GrandFather.java

public class GrandFather{
        public static void main(String[] args){
            Father f = new Father();
            f.getGrandOfFather();
            f.getFather();
        }
}

/*
출력결과
상속 1세대
상속 2세대
getGrandOfFather 호출
0 1 2 3 4 5 6 7 8 9
Father 호출
10 11 12 13 14 15 16 17 18 19
* */


신고

'Language > Java' 카테고리의 다른 글

[Java] 상속을 이용한 프레임 창 띄우기 예제  (0) 2012.10.13
[Java] 생성자 예제  (0) 2012.10.13

Java 생성자 예제



/**
 * Created with IntelliJ IDEA.
 * User: hahahia
 * Date: 12. 10. 13
 * Time: 오후 5:25
 * To change this template use File | Settings | File Templates.
 */
public class TopConstructor {
    private String name = null;
    private String address = null;
    private int age = 0;

    public TopConstructor(){
        name = "이름 없음" ;
        address = "주소 없음" ;
        age = 0;
    }
    public void setData(String n, String a, int g){
        name = n;
        address = a;
        age = g;
    }
    public String getData(){
        String str = name + ", " + address + ", " + age;
        return str;
    }
    public static void main(String[] args){
        TopConstructor tc = new TopConstructor();
        String s;
        s = tc.getData();
        System.out.println(s);
        tc.setData("Minhwa", "Incheon", 25);
        s = tc.getData();
        System.out.println(s);
    }
}


제대로 자바를 공부해보는게 처음이라...ㅎㅎ
신고

'Language > Java' 카테고리의 다른 글

[Java] 상속을 이용한 프레임 창 띄우기 예제  (0) 2012.10.13
[Java] 생성자 예제  (0) 2012.10.13

+ Recent posts