다음은 세 개의 public 클래스로 구성되어 있다.
Java 소스파일에는 public 클래스가 하나만 존재해야  하므로 다음 세 개의 클래스는 각각 독립된 파일로 저장되어야 한다. 저장되는 파일명은 그 public 클래스명에 .java 라는 확장명만 붙이면 된다.
(Java 소스 코드에 public 클래스가 있을 시에는 파일명 붙이기는 언제나 이런 규칙이 적용된다.)
Java  언어는 C 언어 처럼 대소문자 구별을 엄격히 하므로 파일명이나 클래스명에서도 대소문자 구별을 철저히 지켜야 한다.

Parent는 부모 클래스이고 Child는 Parent에서 상속 받은 자식 클래스이다.


컴파일은

     javac -d . TestSubclassing.java

의 명령으로 하나만 컴파일하면 남은 두 개도 같이 컴파일된다.


// Filename: Parent.java
public class Parent {
    private String name;
    public Parent(String name) {
        this.name =  name;
    }
    public void sayName() {
        System.out.println("I am Parent, " + name);
    }
}



// Filename: Child.java
ublic class Child extends Parent {
    private String name;
    public Child(String name) {
        super(name);               // 클래스 상속시 부모 클래스 생성자 호출
        this.name =  name;
    }
    public void sayName() {
        System.out.println("I am a child, named as " + name);
    }
}



// Filename: TestSubclassing.java
public class TestSubclassing {
    public static void main(String[] args) {
        Child obj = new Child("Dooly");
        obj.sayName();
    }
}


실행> java TestSubclassing
I am a child, named as Dooly




Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Posted by Scripter
,