Java - 패키지

제훈·2024년 7월 11일

Java

목록 보기
8/34

패키지

패키지 : 서로 관련 있는 클래스 or 인터페이스 등을 모아 하나의 묶음(그룹)으로 단위를 구성한 것

  • 같은 패키지 내 동일한 이름의 클래스 생성은 불가 (다른 패키지라면 가능하다.)
  • 원래 클래스명의 일부분이다.
  • 경우에 따라 생략이 가능하다. (하지만 자동으로 작성되는 내용이다.) + (같은 패키지라면 생략 가능하다.)
public class Application1 {
    public static void main(String[] args) {
        com.orgiraffers.section01.method.Calculator cal = new com.orgiraffers.section01.method.Calculator();

        int plusResult = cal.plusTwoNumbers(100, 20);
        System.out.println("plusResult : " + plusResult);

    }
}

위와 같이 다른 패키지에 있는 클래스 속 메소드라면 풀네임을 적어주면서 객체도 생성 후 의존성 주입을 해줘야 한다.

하지만, static 메소드는 다르다.

이전 게시글에서도 다룬 내용이지만 고정된 static 메모리 영역에 저장되기 때문에 풀네임은 적지만 객체 생성은 필요 없다.

        int maxResult = com.orgiraffers.section01.method.Calculator.maxNumberOf(100, 20);
        System.out.println("maxResult = " + maxResult);

이렇게 긴 패키지 명을 쭉 적는 것을 개선하기 위해서 나온 것이 import 문이다.

import 문을 통해 패키지를 적용시키면 저렇게 길게 적지 않아도 된다.

import 문 사용

import com.orgiraffers.section01.method.Calculator;

public class Application2 {
    
    public static void main(String[] args) {
        /* 설명. non-static 메소드의 경우 */
        Calculator calculator = new Calculator();

        int result = calculator.plusTwoNumbers(80, 22);
        System.out.println(result);

        /* 설명. static 메소드의 경우 */
        int max = Calculator.maxNumberOf(40, 90);
        System.out.println(max);
    }
}

간략하게 말하면 내가 적은 Calculator = com.orgiraffers.section01.method 속에 있는 Calculator 라는 것을 정의한 것이다.

profile
백엔드 개발자 꿈나무

0개의 댓글