[Java] 접근제한자

dwkim·2023년 2월 27일
  • 기본적으로 변수나 클래스에 private이나 public을 붙여야된다.
  • 아무것도 안쓰면 default가 붙음
  • 클래스 내 변수는 기본적으로 private를 붙인다.

문제
정답

  • 나의 풀이 (정답처럼 출력됨)
// 문제 : 사람의 id를 출력해주세요.
// 조건 : 사람의 id를 20으로 설정해주세요.
// 조건 : 사람 클래스의 id 필드의 private 속성은 수정할 수 없습니다.
class Main {
    public static void main(String[] args) {
        사람 a사람 = new 사람();

        // 구현시작
        a사람.getId(20);
        // 구현끝
        // 출력 : 제 번호는 20 입니다.
    }
}

class 사람 {
    private int id;
    void getId(int id) {
        출력(id);
    }
    void 출력(int id) {
        System.out.println("제 번호는 " + id + "입니다.");
    }
    // 힌트 : 여기에 메소드 2개 추가해야 합니다.
}
  • 정답
class Main {
	public static void main(String[] args) {
		사람 a사람 = new 사람();
		
		// 구현시작
		a사람.setId(20);
		System.out.println("제 번호는 " + a사람.getId() +" 입니다.");
		
		// 구현끝
		// 출력 : 제 번호는 20 입니다.
	}
}

class 사람 {
	private int id; 
    // 클래스를 만들 때 기본적으로 이런 변수들은 private로 만드는 것이 좋음
	
    // 변수 1개 당 세터 메서드 1개, 게터 메서드 1개
	// 세터 메서드 (세팅용) for int id
	void setId(int id) {		
		this.id = id;
	}
	
	// 게터 메서드 (접근용)
	int getId() {
		return id;
	}
	
	// 힌트 : 여기에 메소드 2개 추가해야 합니다.
}
profile
예비 백엔드 개발자

0개의 댓글