오늘 날씨가 많이춥네요
다들 따듯하게 입고 다닙시다!
오늘은 패키지에 대해서
간략하게 알아볼게요 !
어렵지않은 내용이지만
필수로 아셔야 합니다!
0) 왜 패키지에 대해 알아야하는가?
여러분이 큰 프로젝트를 만든다고 생각하면
한두개의 클래스로 절대로 끝낼 수 없을거에요.
그럴 때 관련있는 기능들을
분류해놓는 게 좋겠죠??
그러므로 꼭 패키지에 대해서 알아야합니다
1) 패키지 사용
패키지를 만든 후 클래스를 만들어야한다
다음과 같이
pack 패키지안에
pack.a 와 pack.b 패키지를
만들었습니다.
(클래스명은 동일하게 생성함)
package pack.a;
public class Data_1 {
public Data_1 () {
System.out.println("@@pack.a의 클래스");}}
///////////
package pack.b;
public class Data_1 {
public Data_1 () {
System.out.println("@@pack.b의 클래스");}}
일단 pack패키지를 사용해서 예시를 보여드릴게요
package pack; //패키지를 사용할 때는 첫줄에 꼭 !! package 패키지이름; 필수
public class Data_ { //pack 패키지 안에 Data_ 클래스를 만듬
public Data_(){ //기본생성자(매개변수x)
//public == 어디서든 접근 할 수 있음 (private == 같은 클래스만 접근 가능)
System.out.println("pack패키지의 클래스");}
}
메인코드 사용 시 어떻게 동작하는지
설명 해드리겠습니다.
같은 패키지 )
패키지경로를
적지않고 생성가능
사용자와 다른 패키지)
사용하려는 패키지의
전체 경로 적고
클래스 접근 가능
ex) pack.a.Data_
import)
package 다음줄에 사용가능
pack.a.Data_ 처럼 경로를 모두 적는건
불편하다. import를 사용해보자
import pack.b.* ==
pack.b의 모든클래스를
사용하겠단 뜻
같은 이름의 클래스가
두개 이상 있다면
하나만 사용할 수 있다.
자주 사용하는 패키지를
import 하자 !!!
package pack;
import pack.b.*;
//다른패키지를 사용할때 import 패키지경로를 사용해주면
패키지의 경로를 적지않고 인스턴스생성가능
public class Data_main {
public static void main(String[] args) {
Data_ data = new Data_();
System.out.println();
System.out.println("pack.a의 인스턴스 생성 ");
pack.a.Data_1 dataA = new pack.a.Data_1();
System.out.println();
System.out.println("pack.b 의 인스턴스 생성");
System.out.println("import 를 사용해 패키지명을 안 적고 생성가능");
Data_1 dataB = new Data_1();}}
출력
@@pack패키지의 클래스
pack.a의 인스턴스 생성
@@pack.a의 클래스
pack.b의 Data_1을 더 자주 사용한다 가정
pack.b 의 인스턴스 생성
import 를 사용해 패키지명을 안 적고 생성가능
@@pack.b의 클래스
2) 패키지의 계층 구조
위 패키지를 보면 pack 하위에
a, b 가 존재하는데
모두 각자 독립적인 패키지이다
pack , pack.a , pack.b
( 상속관계와는 아예 다름)
왜 이렇게 패키지가 표현이되는지???
단순하게
큰 분류에서 작은 분류로
표현을 위해서입니다
ex)
store
service
order
storage
user
--------------
상점에
서비스 , 주문, 창고,고객이
있다 생각 해보자
다 다른것이다 !!!
(큰 분류에서 작은분류로
정리해놨을 뿐 !!)
'Java공부(코딩)' 카테고리의 다른 글
코딩초보의 자바(Java) 공부 10일차 { 메모리구조와 static } (5) | 2024.12.15 |
---|---|
코딩초보의 자바(Java)공부 9일차-2 { 접근 제어자 } (0) | 2024.12.14 |
코딩초보의 자바(Java)공부 8일차 { 생성자 } (2) | 2024.12.13 |
코딩초보의 Java(자바)공부 7일차 { 객체지향 프로그래밍 } (2) | 2024.12.12 |
코딩초보의 Java(자바)공부 6일차-2 { 기본형과 참조형 } (0) | 2024.12.12 |