Java/디딤돌 Java 언어 Part1

[Java 소스] 기반 형식의 protected로 접근 지정한 멤버를 파생 형식에서 접근

언제나휴일 2016. 12. 12. 00:19
반응형

기반 형식의 protected로 접근 지정한 멤버를 파생 형식에서 접근


Musician.java

Pianist.java

Program.java



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] 5.1.4 접근 지정자 protected



반응형