[안드로이드] 40. Java super 키워드를 이용한 기반 형식부분 생성
이처럼 기반 형식에서 확장하여 파생 클래스를 정의하면 파생 클래스 형식 개체를 생성하면 기반 형식부분을 생성한 후에 파생 형식부분을 생성하여 하나의 개체가 만들어집니다.
이러한 이유로 기반 형식에 매개 변수가 있는 생성자만 존재할 때 파생 클래스의 생성자에서는 기반 형식부분을 생성할 때 어떠한 인자를 전달하여 생성해야 하는지 반드시 명시해야 합니다. 이 때 super 키워드를 이용합니다. 이러한 이유로 Java 언어에서는 기반 클래스를 슈퍼 클래스라고도 부릅니다. 그리고 파생 클래스를 서브 클래스라고도 부릅니다.
public class Musician {
String name;
public Musician(String name){
this.name = name;
}
}
public class Pianist extends Musician {
public Pianist(String name){
super(name);
}
}
public class Musician { String name; public Musician(String name){ this.name = name; } public String getName(){ return name; } public void play(){ System.out.println("음악가 "+name+" 연주하다."); } } |
public class Pianist extends Musician { public Pianist(String name){ super(name); } public void tuning(){ System.out.println("피아니스트 "+getName()+" 조율하다."); } } |
public class Program { public static void main(String[] args){ Pianist pianist = new Pianist("홍길동"); pianist.play(); pianist.tuning(); } } |
음악가 홍길동 연주하다. 피아니스트 홍길동 조율하다. |
[소스] 파생 클래스 생성자에서 super 키워드로 기반 형식부분 생성하는 예
관련 게시글
'프로그래밍 기술 > 안드로이드' 카테고리의 다른 글
[안드로이드] 44. Java 다형성 개요 (0) | 2016.05.16 |
---|---|
[안드로이드] 43. Java 접근 지정자 protected (0) | 2016.05.16 |
[안드로이드] 42. Java 필드 재정의(override) (0) | 2016.05.16 |
[안드로이드] 41. Java 메서드 재정의(override) (0) | 2016.05.16 |
[안드로이드] 39. OOP - 상속과 다형성 - 상속 개요 (0) | 2016.05.16 |
[안드로이드] 38. Java 정적 멤버와 static 키워드 (0) | 2016.05.16 |
[안드로이드] 37. Java 생성자 중복정의, this, this() (0) | 2016.05.16 |
[안드로이드] 36. Java 개체의 생과 사 (0) | 2016.04.17 |
[안드로이드] 35. Java 중복 정의(Overloading) (0) | 2016.04.17 |
[안드로이드] 34. Java 접근 지정자 (0) | 2016.04.17 |