import 키워드
- 원래 클래스 이름 지정 시 패키지명.클래스명 형태로 지정해야하지만 특정 패키지를 자주 사용하는 경우 import문을 사용하여 해다 패키지와 클래스명을 지정할 경우 패키지명을 생략 가능함 (단, 같은 패키지 내의 클래스는 패키지명을 생략 가능!)
- java.lang 패키지는 유일하게 import 없이도 생략 가능한 패키지 => 그 외의 모든 패키지는 반드시 위치 정보가 필요함!
- import문은 패키지 키워드보다 아래쪽, 클래스 선언부보다 위쪽에 위치하며 패키지문과 달리 여러번 작성가능
- import문 뒤에 패키지명과 클래스명을 지정하며 등록하며, 클래스명 대신 만능문자(*)를 지정할 경우 해당 패키지 내의 모든 클래스를 다 포함시킴
- 자동 import 단축키 : ctrl shift o => 만약, 중복되는 이름이 서로 다른 패키지에 존재할 경우 클래스를 선택하는 창이 표시되므로 클래스를 선택하면 된다!
import 키워드 사용 기본 문법
1. import 패키지명.클래스명;
2. import 패키지명.*;
2. 클래스가 포함된 패키지를 import문으로 지정할 경우
import java.io.IOException;
import java.util.Random;
public class Ex {
public static void main(String[] args) {
Random r2;
IOException e1;
}
}
같은 이름이지만 다른 패키지내에 있기 때문에 다른 파일로 인식됨
오류발생! 인스턴스가 생성되지 않음
Ex.java가 위치한 pack_one 패키지 내에 Expack.java가 위치하지 않기 때문
import문을 통해 Expack.java가 있는 pack_two, pack_three 패키지를 등록해줘야한다!
import pack_two.Expack;
만약, 서로 다른 패키지에 동일한 클래스명이 존재할 경우 import문을 통해 포함시키더라도 각 클래스 구분을 위해 최소 하나의 클래스는 패키지명까지 명시해야한다! => 단, 실제 작성 시 명확한 구분을 위해 둘 다 패키지명으로 명시하는 것이 좋음
pack_three로 지정해주고 싶으면
pack_three.Expack ex3;
자바 프로그램 실행과정
- 소스 코드 작성 및 컴파일 후 클래스 실행
- 클래스 로딩 => static 변수 및 메서드가 메모리에 로딩됨
- main() 메서드 호출(실행)
- 인스턴스 생성 => 인스턴스 변수 및 메서드가 메모리에 로딩됨
- 인스턴스 메서드 호출(실행) => 로컬 변수가 메모리에 로딩됨
- 결과 출력
- 프로그램 종료
'JAVA' 카테고리의 다른 글
[JAVA] 싱글톤 디자인 패턴(Singleton Design pattern) (0) | 2023.09.13 |
---|---|
[JAVA] static 키워드 (0) | 2023.09.13 |
[JAVA] package(패키지) (0) | 2023.09.13 |
[JAVA] 레퍼런스 this, 생성자 this (0) | 2023.09.13 |
[JAVA] 가변형 인자 (0) | 2023.09.13 |