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
- jpa
- Docker
- java
- 알고리즘
- arraylist
- vue.js
- 현장학습
- 맥길대학교
- SpringBoot
- 인텔리제이
- gradle
- jsp
- nginx
- spring
- REACT
- json
- 자바스크립트
- jQuery
- Keycloak 17.0.1
- 스프링
- 에러
- lightsail
- 메서드
- keycloak
- aws
- JavaScript
- 글로벌
- Flutter
- vue
- ES6
Archives
- Today
- Total
korean IT student
[Java-Live-Study] 7주차 - 패키지 본문
목표
자바의 패키지에 대해 학습하세요.
학습할 것 (필수)
- package 키워드
- import 키워드
- 클래스패스
- CLASSPATH 환경변수
- -classpath 옵션
- 접근지시자
1. package 키워드
- 클래스들을 분류하는 클래스의 묶음으로서 디렉터리와 같다.
- 소스에 가장 첫 줄에 단 한 번만 명시되어야 함.
- 같은 소스 파일의 클래스들은 모두 같은 패키지에 속함
- 패키지 선언이 없으면 이름 없는 패키지에 속함
import java.util.*;
- 패키지 이름 규칙
- 소문자로 작성
- 자바 예약어 사용 금지(ex: java)
- 패키지를 사용하는 이유
- 이름 충돌 방지
- 클래스, 인터페이스, 이넘, 어노테이션 등 분류를 통해 쉽게 찾고 사용하기 위함
- 접근 제어
- 데이터 캡슐화
2. import 키워드
- 다른 패키지에 속한 클래스를 사용하기 위한 키워드
import java.util.Map;
import java.util.*;
- 위와 같이 동일한 패키지의 모든 클래스를 와일드카드(*)를 이용하여 생략 가능
- static import
- 일반 import와 다르게 메서드나 변수를 패키지, 클래스명 없이 접근 가능
- 호출 시 클래스명, 메서드명에서 클래스명을 생략 가능
- 자주 사용하는 정적 메서드를 간결하게 사용하기 위함
import static java.lang.System.out;
public class blog {
public static void main(String[] args){
// 일반적 import 시
System.out.println("hello world");
// System 생략
out.println("hello world");
}
}
3. 클래스패스(CLASSPATH)
- 클래스를 찾기 위한 경로
- JVM이 프로그램을 실행할 때 클래스 파일을 찾는데 기준이 되는 파일 경로
- .class 파일이 포함된 디렉터리와 파일을 콜론으로 구분한 목록
- CLASSPATH 환경변수
- CLASSPATH 환경변수를 통해 클래스패스를 관리할 수 있다.
- OS에 맞게 시스템 변수로 등록할 수 있다.
- -classpath 옵션
- java 명령 실행 시 옵션으로 클래스패스를 지정할 수 있다.
- window의 경우 세미콜론, 리눅스의 경우 콜론으로 구분한다.
- ex) java -cp c:\jdk1.8\work com.javachobo.book.PackageTest
https://opentutorials.org/course/1223/5527
4. 접근지시자
- public : 모든 접근 허용, 어떠한 클래스가 접근하든 모두 허용
- protected : 같은 패키지와 상속받은 클래스 그리고 클래스 내부에서만 접근 가능
- default : 기본 지정자, 특별히 접근 지정자를 명시하지 않을 시 적용됨, 같은 패키지와 클래스 내부에서만 접근
- private : 외부에서는 접근이 불가능, 클래스 내부에서만 접근 가능
'back-end > JAVA' 카테고리의 다른 글
[Java-Live-Study] 9주차 - 예외 처리 (0) | 2021.11.03 |
---|---|
[Java-Live-Study] 8주차 - 인터페이스 (0) | 2021.11.02 |
[Java-Live-Study] 6주차 - 상속 (0) | 2021.09.27 |
[Java-Live-Study] 5주차 - 클래스 (0) | 2021.09.17 |
[Java-Live-Study] 4주차 - 제어문 (0) | 2021.08.19 |
Comments