자바 공부/자바

자바 접근제한자

ari0930 2024. 4. 10. 21:17

자바 접근제한자

유형 같은 클래스 같은 패키지 자식 클래스 기타영
public O O O O
protected O O O X
선언x(default) O O X X
private O X X X

 

public: 모든 곳에서 접근이 가능하다.

protected : 패키지 및 모든 하위 클래스에서 접근할 수 있다.

default : 동일한 패키지안에서만 접근이 가능하다.

private: 같은 클래스 안에서만 접근이 가능하다.

 

public

사용법

package chap01;

public class Exam01 {
	
	public void run() {
		System.out.println("뛰어다니다");
		
	}

}


//public 로 선언된 메서드 접근 
package chap01;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Exam01 test = new Exam01();
		test.run();
	}

}

 

protected

같은 패키지 안에서 접근 방법은 public와 동일하지다.

다른 패키지의 자식 클래스에서 접근 방법

package chap01;

public class Exam01 {

	protected void name() {
		System.out.println("내이름은 홍길동이다");
		
	}

}


//다른 패키지 의 자식 클래스에서 접근 방법
package chap02;


import chap01.Exam01;

public class Test02 extends Exam01{
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Test02 child =new Test02();
		child.name();
		
	}

}

private

private은 자신 클래스에서만 접근 가능하기에 

get, set 메서드를 public로 만들어서 접근할 수 있다.

 

package chap01;

public class Exam01 {
	private int age;
	
	
	
	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
		System.out.println(age);
	}

}

//접근방법
package chap01;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Exam01 test = new Exam01();
		test.setAge(10);
		test.getAge();
	}

}

반응형

'자바 공부 > 자바' 카테고리의 다른 글

자바 추상클래스,인터페이스  (1) 2024.04.14
자바 - JDBC  (0) 2024.04.10
자바 클래스  (0) 2024.04.10
자바 메서드  (0) 2024.04.05
[자바] 변수 선언,데이터 타입,  (0) 2024.02.02