일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 노트북 추천
- Overloading
- Java
- 함수
- as?
- 자바스크립트
- 코틀린
- js
- ListView
- 리스트 뷰
- go
- javascript
- 파이썬
- 배열
- golang
- 패널 교체
- HP
- Kotlin
- 안드로이드
- adapter
- 싱글 스레드
- 오버로딩
- 자바
- Android
- Python
- var
- Array
- 노트북
- node.js
- 연산자
Archives
- Today
- Total
Bbaktaeho
[Java] 접근 제어자 비교 (access modifier, public, protected, default, private) 본문
프로그래밍 (Programming)/자바 (Java)
[Java] 접근 제어자 비교 (access modifier, public, protected, default, private)
Bbaktaeho 2020. 9. 12. 23:57반응형
접근 제어자란?
어떠한 클래스나 변수, 메서드 등에서 사용하며, 사용된 것들에게 접근 권한을 설정해주는 역할을 합니다.
접근 제한자의 목적은 보통 특정 데이터로의 직접적인 접근을 막거나, 허용하면서 특정 데이터의 접근을 조절하기 위해서 사용됩니다.
자바의 접근 제어자
public
- 클래스, 필드, 메서드에서 모두 사용 가능한 접근자입니다.
- 동일한 패키지, 다른 패키지에서 접근이 가능합니다.
protected
- 클래스에서 사용이 불가능하고 클래스 내부에서만 사용할 수 있습니다.
- 같은 패키지에서만 접근이 가능하고 다른 패키지에서는 접근이 불가능합니다.
- 예외로 상속 관계일 때는 패키지 관계없이 접근이 가능합니다.
default
- 접근 제어자를 생략했을 때 default로 선언됩니다.
- 동일한 패키지에서 접근이 가능하지만 다른 패키지에서는 불가능합니다.
private
- 클래스에서 사용이 불가능하고 클래스 내부에서만 사용할 수 있습니다.
- 동일한 패키지, 다른 패키지에서 모두 접근이 불가능합니다.
- 동일한 클래스 내에서 접근이 가능합니다.
접근 제어자 비교
접근 비교
키워드 | 동일한 클래스 | 동일한 패키지 | 상속 관계 | 다른 패키지 |
public | O | O | O | O |
protected | O | O | O | X |
default | O | O | X | X |
private | O | X | X | X |
사용 비교
키워드 | 클래스 | 클래스 내부(필드, 메서드) |
public | O | O |
protected | X | O |
default | O | O |
private | X | O |
반응형
'프로그래밍 (Programming) > 자바 (Java)' 카테고리의 다른 글
[Java] Builder pattern (빌더 패턴, 점층적 생성자 패턴, 자바빈 패턴) (1) | 2020.09.21 |
---|---|
[Java] JUnit 프레임워크 맛보기 (유닛 테스트, TDD) (0) | 2020.09.21 |
[Java] Lombok 라이브러리 맛보기 (0) | 2020.09.21 |
[Java] 배열과 배열리스트 (Array, ArrayList) (0) | 2020.09.20 |