패키지 (package), import 문

박영준·2022년 12월 3일
0

Java

목록 보기
15/111

패키지

1. 정의

  • '폴더' 라고 생각하자

    • 패키지는 물리적으로 하나의 디렉토리다.
  • 클래스의 묶음

    • 클래스 or 인터페이스 포함 시킬 수 있음
    • 관련된 클래스끼리 묶을 수 있음
    • 개발자들끼리 서로 패키지로 구분 가능
  • 클래스의 일부분
    → 식별자 역할: 클래스 이름이 동일하더라도, 패키지가 다르면 다른 클래스로 인식
    → 따라서, 클래스 이동 시 패키지 전체를 이동시켜야 함

    참고: 식별자

  • 형태

    package 상위 패키지.하위 패키지.클래스
    
    ...
  • 예시

    • String클래스의 실제 이름은 java.lang.String이다.
      • java.lang패키지에 속한 String클래스

2. 명명 규칙

1) 공통 명명 규칙

  1. 숫자로 시작 X

  2. 언더바( _ ), $ 만 사용 O (다른 특수문자 X)

  3. 대소문자 구분 필요

  4. 예약어 X

2) 패키지 명명 규칙

  1. 소문자로 시작
    모두 소문자로 할 것을 권장
    (단, 가독성을 위해서는 위반 가능)

  2. 한 단어 사용을 권장
    (상위 패키지 한단어, 하위 패키지 한단어씩

  3. 여러 사람 또는 기업과 협업할 경우 표준 패턴을 따름
    (개인용일 경우 무관)

패키지 명 중복
com.samsung.projectname
come.hyundai.projectname

개발 회사에서 회사들 간 패키지 중복을 방지하기위해, 회사의 도메인 이름으로 패키지를 만든다.
도메인 이름 역순으로 패키지이름을 짓는데, 포괄적인 이름(com)이 상위 패키지가 되도록하기 위함이다.

주의
소스파일 작성 시, 패키지를 선언하지 않는 경우
자바에서 기본적으로 제공하는 '이름 없는 패키지'가 되어버린다.

이런 클래스들이 많아지면
패키지를 지정해두지 않은 모든 클래스들은 자동적으로 '이름 없는 패키지'에 같이 속하게 되어버린다.

import 문

1. 역할

사용할 class or interface 가 다른 package에 소속되어 있다면,
import 문으로 해당 package의 class or interface를 가져와 사용할 것임을 컴파일러에게 알림

2. 사용법

1) 기본적인 사용

문법

// 방법 1
import 패키지명.클래스명;

// 방법 2
import 패키지명.*;
  • 실행 시, 두 방법의 성능 차이는 전혀 없다!

예시

package com.mycompany;

import com.hankook.*;	// import com.hankook.Tire; 과 동일

public class Car {
    Tire tire = new tire();
}
  • 사용할 class들이 동일한 package 소속이라면, 해당 package에 소속된 class들을 사용할 것임을 알림

2) static import

예시

import static java.lang.Integer.*;		// Integer클래스의 모든 static메서드
import static java.lang.Math.random;	// Math.random()만 괄호 안 붙임
import static java.lang.System.out;		// System.out을 out만으로 참조 가능

class EX {
	public static void main(String[] args) {
    	out.println(Math.random);
    }
}
  • static멤버 호출 시, 클래스 이름을 생략할 수 있다

참고: [JAVA] 구조 개념 및 명명 규칙

profile
개발자로 거듭나기!

0개의 댓글