[JAVA] 접근 지정자

이현경·2021년 4월 21일
0

JAVA

목록 보기
45/77
  • 접근 지정자
    멤버필드나 메소드 앞에 적어준다.
  1. public : 같은 패키지 내의 다른 클래스에서 접근할 수 있음
  2. protected : 같은 패키지 내의 클래스에서 접근할 수 있음
  3. private : 같은 패키지 내의 클래스에서 직접 접근할 수 없음 (같은 패키지 내의 다른 클래스에서는 접근할 수 있음)
  4. default : interface에서 주로 사용
package package1;

public class Ex06 {

	private String name;
	private int age;
	protected String addr;
	double height;	// 접근 지정자를 명시하지 않음	// protected
	public String phone;
	
	public void setName(String name) {
		this.name = name;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	public String getName() {
		return this.name;
	}
	
	public int getAge() {
		return this.age;
	}
	public String getAddr() {
		return this.addr;
	}
	public double getHeight() {
		return this.height;
	}
	protected void print() {
		System.out.println(name);
		System.out.println(age);
		System.out.println(addr);
	}

}
package package1;

public class Ex07Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Ex06 ex = new Ex06();
		// ex.name = "이현경";	// private는 직접 접근할 수 없음
		// ex.age = 25;
		ex.addr = "시흥";		// protected는 직접 접근이 가능
		ex.height = 156.5; 	// 접근 지정이 없어도 접근 가능
		ex.phone = "010-0000-0000";
	}

}
  • import
    패키지가 다를 경우 improt 선언을 해주어야 함
package package3;

// 패키지가 다르면 import를 해주어야 함
import package1.Ex06;

public class Ex08Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Ex06 ex = new Ex06();
		// ex.name="이현경";	// private는 다른 패키지에서도 사용할 수 없음
		// ex.addr = "경기도";	// protected는 패키지가 다르면 접근할 수 없음
		// ex.height = 156.5;
		ex.phone = "010-0000-0000";	// public은 어디서든지 접근 가능
	
		// ex.print();	// 패키지가 다르기 때문에 접근할 수 없음
		
	}

}
profile
25. 컴퓨터학과 졸업 / SQLD, 정보처리기사 취득

0개의 댓글