보기보기 개발 블로그

eclipse / 자바 패키지 본문

Java

eclipse / 자바 패키지

bokboks 2023. 3. 25. 02:12

안녕하세요 지난 포스팅에서는 자바 1대다 관계에 대하여 알아보았는데요

이번에는 자바의 패키지에 대해서 알아보겠습니다

 

 

eclipse / 자바 1대다 관계 클래스

안녕하세요 지난 포스팅에선 자바에서 1대1 관계 클래스에 대하여 알아본이후 이번에는 자바에서 1대다 관계 클래스에 대하여 알아보겠습니다. eclipse / 자바 1대1 관계 클래스 안녕하세요 지난

stackbok.tistory.com


package javaexp.a08_access;

import javaexp.a07_multiObj.A06_Food;
import javaexp.a07_multiObj.A07_Bus;

public class A01_Package {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 # 패키지란?
		 1.클래스를 기능별로 묶어서 그룹 이름을 붙여 놓은것 을 말한다.
		 	1)파일들을 관리하기 위해 사용하는 폴드(디렉토리)와 비슷한 개념이다.
		 	2)패키지의 물리적인 형태는 파일 시스템의 폴드이다.
		 	
		 	cf) 같은 패키지하위에 있는 클래스의 멤버(구성요소-필드/생성지/메서드)는
		 	접근제어자 default(X)이사일 때, 제한 없이 접근해서 사용할 수 있다.
		 	주의) 패키지는 계층구조를 인정하지 않는다. javaexp 패키지
		 	javaexp.a01_pack01,		패키지는 다른 패키지로 인정한다.
		 2.클래스 이름의 일부
		 	1)클래스를 유일하게 만들어 주는 식별자
		 	2)전체클래스 이름 = 상위패키지.하위패키지.클래스
		 		ex) 현재 클래스명 : javaexp.a08_access.A01_Package
		 	3) 클래스명이 같아도 패키지명이 다르면 다른 클래스로 취급한다
		 			javaexp.a07_multiObj.A01_Package
		 			
		 3.클래스 선언할 떄 포함될 패키지 선언.
		 	1)클래스 선언할 때 포함될 패키지 선언.
		 		package 패키지명
		 		class 클래스명
		 		ex)
		 			package javaexp.a08_access;
		 			public class A01_Package {
		 		2) 클래스 파일(.class) 선언된 패키지와 동일한 폴더 안에서 동작
		 		3) 클래스 파일(.class) 다른 폴더 안에 넣으면 동작하지 않음.
		 */
		System.out.println(new A01_Package());
		//javaexp.a08_access.A01_Package@5ca881b5
		//패키지명.클래스명@주소값
		// 동일한 클래스의 다른 패키지의 클래스를
		javaexp.a07_multiObj.A01_Package pk = new javaexp.a07_multiObj.A01_Package();
		System.out.println("다른 패키지 클래스의 객체:"+pk);
		//ex) 안에

		A05_Person p01 = new A05_Person();
		System.out.println(p01);
		System.out.println(p01.name);
		
//		다른 패키지에 있는 클래스는 패키지명.클래스명으로 호출하여 사용할 수 있다.
//		#같은 클래스명을 호출하는 곳(main())이나 다른 클래스 내부에서)
		javaexp.a07_multiObj.A05_Person po = new javaexp.a07_multiObj.A05_Person();
		System.out.println("A05패키지:" + po.name);
		/*
		 # 클래스명이 한 곳에서 동일할 것이 호출되지 않을 때는 패키지명을 생략가능한다.
		 1.import 패키지명.클래스명로 상단에 선언하고,
		 2.public 접근제어자 범위 안에 있으면 객체를 사용할 수 있다.
		 */
		A06_Food f01 = new A06_Food();//패키지명 없이도 임포트하면 가능
		System.out.println(f01.name);// food name을 public 해줘서 가능
		
		//ex)외부 패키지 버스를 선언하고 import를 이용해서 객체의 참조값으로 호출하고
		//다시 플드값을 public으로 선언하여 번호를 할당하고 호출하여 출력
		// import javaexp.a07_multiObj.*;
		// 해당패키지에 소속되어있는  모든 클래스를 모두다 import하여 사용할수있다.
		javaexp.a07_multiObj.A07_Bus bu = new javaexp.a07_multiObj.A07_Bus();
		System.out.println(bu);
		A07_Bus bus = new A07_Bus();
		System.out.println(bus);
		System.out.println(bus.busNum);
	}

}

이상으로 자바 패키지에 대하여 알아봤습니다.

'Java' 카테고리의 다른 글

eclipse / 생성자  (0) 2023.04.19
eclipse / 자바 상속  (0) 2023.04.18
eclipse / 자바 1대다 관계 클래스  (0) 2023.03.25
eclipse / 자바 1대1 관계 클래스  (0) 2023.03.25
eclipse / 자바 Final  (0) 2023.03.23