[Java] 패키지와 임포트(Package & import)

u_yonu·2026년 1월 27일

Java

목록 보기
9/18
post-thumbnail

패키지(Package)

  • 클래스와 인터페이스를 묶는 디렉토리(폴더) 구조
  • 클래스 이름 충돌 방지(패키지 명까지 해서 네임 스페이스 제공)
    => 내가 만든 add // 너가 만든 add 구별하면
    => I.add // You.add => 확실히 다른 것 !
school
 ├─ student
 │   └─ Student.java
 ├─ teacher
 │   └─ Teacher.java
  • 클래스 파일 첫 번째 줄에 package 키워드를 사용하여 선언 (생략 시 default package)
  • .(dot)을 이용하여 패키지를 구분(계층 구조)
package com.example.project.util;
com/
 └─ example/
     └─ project/
         └─ util/
             └─ SomeUtil.java
  • 일반적으로 소속이나 회사의 도메인 역 순으로 작성

임포트(Import)

  • 다른 패키지에 있는 클래스를 사용하기 위해서는 import 과정이 필요
  • 패키지와 달리 여러번 선언 가능
  • 단일 import -> import [풀 패키지명]
  • 전체 import -> import [패키지 명]
  • 하위 패키지까지 import 되지는 않음
  • 자바에서는 클래스가 실제로 사용되는 시점에 메모리에 로드
    => import 많다고 느려지지 않음

cf) static import : 클래스의 static 멤버(필드/메서드)를 클래스 이름 없이 바로 쓰게 해주는 문법
[일반 import]

import java.lang.Math;

Math.sqrt(4);
Math.PI;

[static import]

import static java.lang.Math.sqrt;
import static java.lang.Math.PI;

sqrt(4);
PI;
profile
비전공자의 개발도전기

0개의 댓글