패키지 : 서로 관련 있는 클래스 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 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 라는 것을 정의한 것이다.