기반 형식의 protected로 접근 지정한 멤버를 파생 형식에서 접근
public class Musician {
int skill;
static final int MAX_SKILL = 100;
static final int MIN_SKILL = 0;
public Musician(){
setSkill(MIN_SKILL);
}
protected void setSkill(int value) {
if(value>MAX_SKILL){
value = MAX_SKILL;
}
if(value<MIN_SKILL){
value = MIN_SKILL;
}
skill = value;
}
public void play(int tcnt){
System.out.println(tcnt + "시간 연주하다.");
setSkill(skill+tcnt);
}
public int getSkill(){
return skill;
}
}
public class Pianist extends Musician{
public void lesson(int tcnt){
System.out.println(tcnt + "시간 레슨받다.");
setSkill(getSkill()+tcnt);
}
}
public class Program {
public static void main(String[] args){
Pianist pianist = new Pianist();
System.out.println("연주 스킬:"+ pianist.getSkill());
pianist.play(3);
System.out.println("연주 스킬:"+ pianist.getSkill());
pianist.lesson(4);
System.out.println("연주 스킬:"+ pianist.getSkill());
}
}
실행 결과
연주 스킬:0
3시간 연주하다.
연주 스킬:3
4시간 레슨받다.
연주 스킬:7
본문
'Java > 디딤돌 Java 언어 Part1' 카테고리의 다른 글
[Java 소스] 추상화 예 (0) | 2016.12.12 |
---|---|
[Java 소스] 다형성 예 (0) | 2016.12.12 |
[Java 소스] 기반 형식의 멤버 필드를 파생 클래스에서 재정의 (0) | 2016.12.12 |
[Java 소스] 파생 클래스에서 무효화한 기반 클래스의 메서드 사용 (0) | 2016.12.12 |
[Java 소스] 파생 클래스에서 기반 형식 메서드를 재정의 (0) | 2016.12.12 |