Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- PythonProgramming
- 문자열
- 뇌출혈
- 파이썬
- 보험
- 변환
- python
- 교보
- 교보생명
- Java
- Vue.js
- 사망
- 납입
- 프론트엔드
- 급성심근경색증
- 심장질환
- javascript
- 특약
- jQuery
- 중도인출
- 프로그래밍
- 보험료
- 자바스크립트
- 수수료
- 가입
- 인출수수료
- 추가납입
- 코딩
- 웹개발
- 리스트
Archives
- Today
- Total
SeouliteLab
[Java/자바] 접근 제어자(public, private, protected, default) 이해하기 본문
자바에서는 클래스, 변수, 메소드 등의 접근을 제어하기 위해 접근 제어자를 사용합니다. public, private, protected, 그리고 default라는 네 가지 접근 제어자가 있으며, 각각의 역할과 사용법을 자세히 알아봅시다.
접근 제어자 설명
접근 제어자 이해하기
접근 제어자는 클래스, 변수, 메소드 등의 접근을 제한하는 키워드입니다. 자바에서는 다음 네 가지 접근 제어자를 사용합니다.
- public: 어디서든 접근 가능한 제한자
- private: 같은 클래스 내에서만 접근 가능한 제한자
- protected: 같은 패키지 내에서 또는 상속받은 클래스에서 접근 가능한 제한자
- default (package-private): 같은 패키지 내에서만 접근 가능한 제한자 (접근 제어자를 명시하지 않은 경우 기본값)
예제 1: public 접근 제어자
디렉토리: src/main/java/com/example/accessmodifiers
파일명: PublicExample.java
public class PublicExample {
// public으로 선언된 변수
public String name;
// public으로 선언된 메소드
public void display() {
System.out.println("안녕하세요, 저는 public입니다!");
}
}
예제 2: private 접근 제어자
디렉토리: src/main/java/com/example/accessmodifiers
파일명: PrivateExample.java
public class PrivateExample {
// private으로 선언된 변수
private int number;
// private으로 선언된 메소드
private void display() {
System.out.println("안녕하세요, 저는 private입니다!");
}
}
예제 3: protected 접근 제어자
디렉토리: src/main/java/com/example/accessmodifiers
파일명: ProtectedExample.java
public class ProtectedExample {
// protected로 선언된 변수
protected String message;
// protected로 선언된 메소드
protected void display() {
System.out.println("안녕하세요, 저는 protected입니다!");
}
}
예제 4: default (package-private) 접근 제어자
디렉토리: src/main/java/com/example/accessmodifiers
파일명: DefaultExample.java
class DefaultExample {
// default로 선언된 변수
String color;
// default로 선언된 메소드
void display() {
System.out.println("안녕하세요, 저는 default입니다!");
}
}
'프로그래밍' 카테고리의 다른 글
오픈레스티(OpenResty) 소개: Nginx 기반 웹 서버와 Lua 프로그래밍의 완벽한 결합 (0) | 2024.03.22 |
---|---|
[Java/자바] 동기화 블록(Synchronized Block)의 활용과 이해 (0) | 2024.03.21 |
[Java/자바] 'throw'와 'throws'의 차이 알아보기 (0) | 2024.03.21 |
MTProto: Telegram의 암호화 통신 프로토콜 (0) | 2024.03.21 |
[Vue] Vue.js에서 Enter 키로 버튼 클릭 방지하기 (0) | 2024.03.20 |