2021. 8. 5. 17:56ㆍCSE/JAVA
1. 객체 멤버의 접근 제어자
- UML 표기법
- - : private 접근 제어자
- ~ : default 접근 제어자
- # : protected 접근 제어자
- + : public 접근 제어자
- public : 모두가 접근 가능
- protected : 상속 또는 같은 패키지 내의 클래스에서 접근 가능
- [default] : 같은 패키지 내의 클래스에서 접근 가능
- private : 본인만 접근 가능
* 만약에 aaa.jar 파일 안에 packageOne 패키지가 있고, bbb.jar 파일 안에 packageOne 패키지가 있다면
=> aaa.jar 파일 안의 packageOne 패키지 내 클래스나 객체는 bbb.jar 파일 안에 packageOne 패키지가 가진 public 멤버 뿐만 아니라 [default] 멤버와 protected 멤버에 자유롭게 접근할 수 있다.
=> 주의할 점!!
- 상속을 받지 않았다면, 객체 멤버는 객체를 생성한 후 객체 참조 변수를 이용해 접근해야한다.
- 정적 멤버는 클래스명.정적멤버 형식으로 접근하는 것을 권장한다.
=> 일관된 형식으로 접근하기 위해서!
=> 물리적으로도 돌아가지 않게 된다.
2. 참조 변수의 복사
- 기본 자료형 변수를 복사하는 경우 : Call By Value (값에 의한 호출)
=> 두 변수는 서로 영향을 미치지 않는다.
- 객체 참조 변수를 복사하는 경우: Call By Reference (참조에 의한 호출), Call By Address (주소에 의한 호출)
=> 참조하는 메모리 주소를 복사하는 것
=> 둘 다 같은 주소를 가리키기 때문에 서로 영향을 미치게된다. 하지만 그렇다고 두 변수가 같은 변수는 아니다.
'CSE > JAVA' 카테고리의 다른 글
[자바 객체 지향] 객체 지향 설계 5원칙 : SRP, OCP, LSP (0) | 2021.08.07 |
---|---|
[자바 객체 지향] static 블록 (0) | 2021.08.07 |
[자바 객체 지향] 다형성 (0) | 2021.08.05 |
[자바 객체 지향] 자바와 절차적/구조적 프로그래밍 2 (0) | 2021.07.30 |
[자바 객체 지향] 자바와 절차적/구조적 프로그래밍 1 (0) | 2021.07.26 |