안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
필드와 메서드를 선언할 때 고려해야 할 사항은 클래스 내부에서만 사용할 것인지,
패키지 내에서만 사용할 것인지, 아니면 다른 패키지에서도 사용할 수 있도록 할 것인지를 결정해야 합니다.
이것은 필드와 메서드가 어떤 접근 제한을 갖느냐에 따라 결정됩니다.
필드와 메서드는 public, protected, default, private 접근 제한을 가질 수 있습니다.
예제1)
package field_method_access.package1;
public class A {
//필드
public int field1;
int field2;
private int field3;
//생성자
public A() {
field1 = 1;
field2 = 1;
field3 = 1;
<- 클래스 내부일 경우 접근 제한자의 영향을 받지 않습니다.
method1();
method2();
method3();
}
//메소드
public void method1() {}
void method2() {}
private void method3() {}
}
예제2)
package field_method_access.package1; // 같은 패키지
public class B {
public B() {
A a = new A();
a.field1 = 1;
a.field2 = 1;
//a.field3 = 1;
<- private 필드와 메서드 접근 불가.
a.method1();
a.method2();
//a.method3();
}
}
예제3)
package field_method_access.package2; // 다른패키지
import field_method_access.package1.A;
public class C {
public C() {
A a = new A();
a.field1 = 1;
//a.field2 = 1;
//a.field3 = 1;
<- public 필드와 메서드만 접근 가능.
a.method1();
//a.method2();
//a.method3();
}
}
'자바' 카테고리의 다른 글
JAVA 자바 어노테이션 타입의 정의와 적용, 어노테이션 적용 대상 (0) | 2017.03.12 |
---|---|
JAVA 자바 Getter 와 Setter (0) | 2017.03.12 |
JAVA 자바 생성자의 접근 제한 (0) | 2017.03.12 |
JAVA 자바 클래스 접근 제한자 (0) | 2017.03.12 |
JAVA 자바 패키지 선언, import 문 , 이클립스에서 패키지 생성과 클래스 생성 (0) | 2017.03.12 |