[Java] 4.1.1 멤버 필드, 4.1.2 생성자, 4.1.3 멤버 메서드

4.1.1 멤버 필드

먼저 음악가 이름과 연주 스킬 및 음악가 번호를 기억할 멤버 필드를 캡슐화합니다. 멤버 앞에 접근 지정자를 표시하지 않으면 디폴트로 private으로 지정하며 해당 클래스 내부에서만 접근할 수 있습니다.

String name;

int skill;

int num;

4.1.2 생성자

프로그램에서 클래스 형식의 개체를 생성할 때 해야 할 일을 정의하는 메서드를 생성자라고 부릅니다. 생성자는 클래스 이름과 같으며 반환 형식을 명시할 수 없습니다.

public Musician(String name,int num){

this.name = name;

this.num = num;

skill = 0;

}

4.1.3 멤버 메서드

멤버 메서드는 반환 형식과 메서드 이름을 명시한 후에 ( ) 내부에 호출하는 곳에서 전달한 값을 받기 위한 입력 매개변수 리스트를 명시합니다. 그리고 블록 내부에서 해야 할 작업에 대한 코드를 작성합니다.

public void introduce(){

System.out.println(“이름:”+name+” 번호:”+num +” 스킬:”+skill);

}

public void play(){

System.out.println(“이름:”+name+” 연주하다.”);

skill++;

}

특히 개체의 특정 멤버 필드의 값을 가져오거나 설정하는 메서드를 속성 메서드라고 부르는데 멤버 필드 값을 가져오는 메서드 이름은 get 뒤에 멤버 필드 명으로 정하고 설정하는 메서드 이름은 set 뒤에 멤버 필드 명으로 지정하는 것이 관용입니다.

public String getName(){

return name;

}

public int getSkill(){

return skill;

}

public int getNum(){

return num;

}

[소스 4.1] Musician 클래스

public class Musician {
    String name;
    int skill;
    int num;
    public Musician(String name,int num){
        this.name = name;
        this.num = num;
        skill = 0;
    }
    public void introduce(){
        System.out.println("이름:"+name+" 번호:"+num +" 스킬:"+skill);
    }
    public void play(){
        System.out.println("이름:"+name+" 연주하다.");
        skill++;
    }
    public String getName(){
        return name;
    }
    public int getSkill(){
        return skill;
    }
    public int getNum(){
        return num;
    }
}