์์ฑ์๋ ์์ ๊ณผ์ ์์ ์์ฑ๋์ง ์๊ณ , ํ์ ํด๋์ค์ ๊ฐ์ฒด ์์ฑ ์ ์๋์ผ๋ก ์์ ํด๋์ค์ ์ธ์ ์๋ ์์ฑ์๊ฐ ํธ์ถ๋๋ค.
์์ ํด๋์ค๋ฅผ ์์๋ฐ๋ ํ์ ํด๋์ค๋ฅผ ๊ฐ์ฒด ์์ฑ ํ ๋ ์๋์ผ๋ก ์์ ํด๋์ค์ ์ธ์ ์๋ ์์ฑ์๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์์ํ๋ ์์ ํด๋์ค์ ์ธ์ ์๋ ์์ฑ์๊ฐ ์์ผ๋ฉด ์๋ฌ ๋ฐ์
ํน๋ณํ ์์ฑ์๊ฐ ์์ ๊ฒฝ์ฐ๋ ๋ํดํธ ์์ฑ์์ธ ์์ฑ์(){}์ ์คํ
์์ ํด๋์ค์ ์ธ์์๋ ์์ฑ์๋ฅผ ์๋์ผ๋ก ์คํํ๋ฏ๋ก ์ธ์ ์๋ ์์ฑ์๊ฐ ์์ผ๋ฉด ์๋ฌ ๋ฐ์
์์ ๋ฐฉ๋ฒ (ํ์ ํด๋์ค์์ ์์ฑ์๋ ์ธ์๊ฐ์ด ์์ง๋ง ์์ํด๋์ค์์ ์ธ์๊ฐ์ด ์๋ ๊ฒฝ์ฐ )
(1) ์์ ํด๋์ค์ ์์ฑ์ ( ){ }์ ์ถ๊ฐํ๋ค.
(2) ํ์ ํด๋์ค์์ super( ) ๋ฉ์๋ ์ด์ฉํด์ ํธ์ถ
class Greeting {
public String name = "๊น์ ์ง";
public int age = 18;
public void sayHello() {
System.out.println("์จ ์๋
ํ์ธ์.");
}
}
class EngHello extends Greeting{
public String name = "Mr.hee";
public int age = 18;
public void sayHello() {
System.out.println(age + "์ด์ "+name+" Nice to meet you");
}
public void test() {
System.out.print(super.age + "์ด์ "+ super.name);
super.sayHello();
}
public static void main(String args[]) {
EngHello eng = new EngHello();
eng.sayHello();
eng.test();
}
}
์์๊ด๊ณ์ ์๋ ํด๋์ค์์ ์์ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์๋ ์์ฑ์๋ฅผ ํธ์ถํ๊ธฐ ์ํด superํค์๋ super()๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
์์ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์๋ ๋ฉ์๋๋ฅผ ํ์ ํด๋์ค์์ ๋ช ์์ ์ผ๋ก ํธ์ถํ ๋ ์ฌ์ฉ
ํ์
(1) super. ์์ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์
(2) super. ์์ ํด๋์ค์ ๋ฉ์๋์ด๋ฆ
์์ ํด๋์ค์ ์์ฑ์๋ฅผ ๋ช ์์ ์ผ๋ก ํธ์ถํ ๋ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ํ์ ํด๋์ค์ ์์ฑ์์์ ์ ์ผ ๋จผ์ ํธ์ถํด์ผ ํ๋ค.
ํ์
(1) super( )
(2) super(์ธ์...)
class Grandfather {
private String name;
private int age;
public Grandfather(String name,int age) {
this.name = name;
this.age = age;
System.out.println("Grandfather ์์ฑ์"+" "+this.name +" "+this.age+"์ด์ด๋ค.");
}
}
class Myclass extends Grandfather{
public Myclass(String str,int age) {
super(str, age);
System.out.println("MyClass ์์ฑ์");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Myclass s = new Myclass("๊น์ ์ง",18);
}
}