[Java] 패키지 and 임포트

Date:     Updated:

카테고리:

태그:

java.png

패키지

패키지란?

  • 서로 관련된 클래스 또는 인터페이스 등을 모아 하나의 묶음(그룹)으로 단위를 구성하는 것을 말한다
  • 같은 패키지 내에서는 동일한 클래스를 만들 수 없지만, 패키지가 다르면 동일한 이름을 가진 클래스를 만들 수도 있다
  • 클래스명은 원래 패키지명을 포함 되어있기 때문이다
  • 지금까지 클래스명에 패키지명을 함께 사용하지 않은 이유는 동일한 패키지 내에서 사용했기 때문이다
  • 그렇기 때문에 서로 다른 패키지에 클래스를 사용하는 경우에는 클래스 명 앞에 패키지명을 명시해서 풀 클래스 이름으로 사용해야한다
package com.ohgiraffers.section02.package_and_import;

public class Application1 {
    public static void main(String[] args) {
        
        /* 1.non-static 메소드의 경우 */
        com.ohgiraffers.section01.method.Calculator cal = new com.ohgiraffers.section01.method.Calculator();

        int min = cal.minNumberOf(30,20);

        System.out.println("30과 20중에 더 작은 값은? " + min);

        /* 2.static 메소드의 경우 */

        int max = com.ohgiraffers.section01.method.Calculator.maxNumberOf(30,20);

        System.out.println("30과 20중에 더 큰 값은? " + max);
        
    }
}
  • 출력값
30과 20중에 더 작은 값은? 20
30과 20중에 더 큰 값은? 30

임포트란?

  • 서로 다른 패키지에 존재하는 클래스를 사용하는 경우 패키지명을 포함한 풀 클래스 이름을 사용해야 한다
  • 하지만 매번 다른 클래스의 패키지명까지 기술하기에는 번거롭다
  • 그래서 패키지명을 생략하고 사용할 수 있도록 한 구문이 import 문이다
  • import 는 package 선언문과 class 선언문 사이에 작성하며
  • 어떠한 패키지 내에 클래스를 사용할 것인지 선언하는 효과를 가진다
package com.ohgiraffers.section02.package_and_import;

import com.ohgiraffers.section01.method.Calculator;

import static com.ohgiraffers.section01.method.Calculator.maxNumberOf;

public class Application2 {
    public static void main(String[] args) {

        /*1. non-static method의 경우*/
        Calculator calc = new Calculator();
        int min = calc.minNumberOf(50, 60);

        System.out.println("50과 60 중 더 작은 값은 : " + min);

        /*2. static method의 경우*/
        int max = maxNumberOf(50, 60);

        System.out.println("50과 60 중 더 큰 값은 : " + max);

        /*3. static 메소드를 호출할 때 클래스명을 생략하고 사용할 수 있다.*/

        int max2 = maxNumberOf(100,200); // static import 메소드 수동추가
        System.out.println("100과 200중에 더 큰 값은? " + max2);
        
    }
}
  • 출력값
50과 60 중 더 작은 값은 : 50
50과 60 중 더 큰 값은 : 60
100과 200중에 더 큰 값은? 200

요약. 패키지는 관련된 클래스와 인터페이스들을 그룹화하여 구조화하고, 네임스페이스를 제공하는 Java의 기능이며, 임포트는 다른 패키지에 있는 클래스를 현재 코드에 사용할 수 있도록 가져오는 것이다

static 과 import 는 자주 나올 것 같은 느낌적인 느낌!! 아자자 화이팅!

Java 카테고리 내 다른 글 보러가기

댓글 남기기