ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 접근제한자(Access Modifier)
    Language/Java 2019. 10. 6. 14:14

     

     

    지난 포스팅에서 Class내에 선언한 값을 외부에서 직접 접근할 수 없게 하기 위해서 private라는 접근제한자를 지정했습니다. 오늘은 접근제한자의 역할과 종류에 대해서 알아보겠습니다.

     

    접근제한자란 말 그대로 접근을 제한하는 기능을 합니다. 접근제한자의 종류는 다음과 같습니다.

     

    접근제한자(Access Modifier) 역할(접근 가능 범위) 비고
    Public 어디서나 누구나 접근 가능 클래스, 변수, 생성자, 메소드에 적용 가능
    Protected

    같은 패키지 내에서 접근 가능

    또는, 상속관계에 있는 경우 접근 가능

    변수, 생성자, 메소드에 적용 가능
    (생략) 같은 패키지 내에서만 접근 가능 클래스, 변수, 생성자, 메소드에 적용 가능
    Private 같은 클래스 내에서만 접근 가능 변수, 생성자, 메소드에 적용 가능

     

    위 표의 내용을 바탕으로 지난 포스팅에서의 Car Class를 다시 보면,

     

    ublic class Car {
    
    	private int price;		// private: 외부에서 접근 불가
    	private String color;
    
    	public void drive(int speed) {
    		System.out.println(speed + "km/h 로 주행합니다.");
    	}
    
    	public void stop() {
    		System.out.println("주행을 멈춥니다.");
    	}
    
    	public int getPrice() {		// price변수 값 불러오기
    		return price;
    	}
    
    	public void setPrice(int price) {		// price변수에 값 할당하기
    		if (price >= 0 && price < 500) {
    			this.price = price;
    		}
    	}
    
    	public String getColor() {		//color변수 값 불러오기
    		return color + "color";
    	}
    
    	public void setColor(String color) {		//color변수에 값 할당하기
    		this.color = color;
    	}
    
    }

     

    외부의 다른 클래스에서 Car 클래스에 접근할때, private를 접근제한자로 가지고있는 price와 color변수에는 접근할 수 없는 것입니다. 반면 drive, stop메소드와 getter/setter메소드들은 접근제한자를 public으로 지정했기 때문에 외부의 클래스 또는 다른 패키지에서도 접근할 수 있습니다.

     

     

Designed by Tistory.