반응형
이전에 배운 내용
2023.10.19 - [내일 배움 캠프_Spring _3기/프로그래밍 기초 주차(2023.10.12~30)] - [JAVA] 접근제어자
[JAVA] 접근제어자
이전에 배운 내용 [JAVA] 생성자, this와 this( ) [JAVA] 생성자, this와 this( ) 이전에 배운 내용 [JAVA] 지역변수와 상수 [JAVA] 지역변수와 상수 이전에 배운 내용 [JAVA] 인스턴스 멤버와 클래스 멤버 [JAVA]
dev-story93.tistory.com
패키지는 무엇인가?
클래스의 일부분, 클래스를 식별해 주는 용도
패키지는 상위패키지와 하위패키지를 도트(.)로 구분한다.
package 상위패키지.하위패키지; //이렇게 선언할 수 있습니다.
- 예를 들어 oop.pk1이라는 패키지와 oop.pk2라는 패키지가 있다고 가정해 보겠습니다.
- 두 패키지에 모두 Car 클래스가 존재한다면? 그리고 이를 사용하려고 한다면?
- Java는 패키지의 경로를 통해 구분합니다.
- 아래 예제를 통해 확인해 보겠습니다.
oop.pk1.Car 클래스
package oop.pk1;
public class Car {
public void horn() {
System.out.println("pk1 빵빵아");
}
}
oop.pk2.Car 클래스
package oop.pk2;
public class Car {
public void horn() {
System.out.println("pk2 옥지얌");
}
}
oop.main.Main 클래스
package oop.main;
public class Main {
public static void main(String[] args) {
oop.pk1.Car car = new oop.pk1.Car();
car.horn(); // pk1 빵빵아
oop.pk2.Car car2 = new oop.pk2.Car();
car2.horn(); // pk2 옥지얌
}
}
import는 무엇인가?
다른 패키지에 있는 클래스를 사용하기 위해 명시하는 키워드
- 위에서 살펴본 oop.pk1이라는 패키지와 oop.pk2라는 패키지를 import로 명시해 보겠습니다.
- import oop.pk1.Car;, import oop.pk2.Car;
- 클래스 이름을 생략하고 * 를 사용하여 import oop.pk1.*; 이렇게 표현하면 oop.pk1 패키지 아래에 있는 모든 클래스를 사용할 수 있습니다.
- 다만 서로 다른 패키지에 있는 같은 이름의 클래스를 동시에 사용하려면 해당 클래스에 패키지 명을 전부 명시해야 합니다.
예제
oop.pk1.Car 클래스
package oop.pk1;
public class Car {
public void horn() {
System.out.println("pk1 빵빵아~!");
}
}
oop.pk2.Car 클래스
package oop.pk2;
public class Car {
public void horn() {
System.out.println("pk2 옥지얌~!");
}
}
oop.main.Main 클래스
package oop.main;
import oop.pk1.Car;
public class Main {
public static void main(String[] args) {
Car car = new Car(); //import를 통해 바로 호출가능
car.horn(); // pk1 빵빵아~!
oop.pk2.Car car2 = new oop.pk2.Car(); //동일명의 클래스는 이후 경로로 불러와야함
car2.horn(); // pk2 옥지얌~!
}
}
다음은 상속개념에대해 알아보자!
반응형
'언어(language) > 자바(Java)' 카테고리의 다른 글
| [JAVA] 상속관계와 포함관계 (2) | 2023.10.19 |
|---|---|
| [JAVA] 상속 개념 (0) | 2023.10.19 |
| [JAVA] 접근제어자 (0) | 2023.10.19 |
| [JAVA] 생성자, this와 this( ) (0) | 2023.10.19 |
| [JAVA] 지역변수와 상수 (0) | 2023.10.19 |