관리 메뉴

Frog is cry

패키지-import(Day19) 본문

JAVA/국비수업

패키지-import(Day19)

Frog is cry 2020. 7. 24. 17:39
package day20.import1.myhouse;

import day20.import1.house1.BigRoom;
import day20.import1.house1.SmallRoom;
import day20.import1.house2.LivingRoom;
import day20.import1.house3.ShowRoom;

public class Room {
	
	SmallRoom r1 = new SmallRoom();
	LivingRoom r2 = new LivingRoom();
	ShowRoom r3 = new ShowRoom();
	
	day20.import1.house1.BigRoom br1 = new day20.import1.house1.BigRoom();
	day20.import1.house2.BigRoom br2 = new day20.import1.house2.BigRoom();
	
}
package day20.import1.myhouse;
import day20.import1.house1.SmallRoom;


public class Room2 {

// import 단축키 연습
// 객체 생성 후 Ctrl + Shift + O
	
	SmallRoom r1 = new SmallRoom();
}
package day20.ex02.class_access.package2;

//import day20.ex02.class_access.package1.A;
import day20.ex02.class_access.package1.B;

public class C {

//	A a = new A();
	 // A 클래스는 package1에 만들어진 클래스입니다.
	 // 그런데 클래스 앞에 접근제한자가 없습니다.
	 // default라는 의미입니다.
	 // default 접근제한자는 동일한 패키지의 클래스만 접근이 가능합니다.
	 // 그러므로 package2에 있는 C클래스에서
	 // package1의 A클래스를 접근하지 못합니다.

	B b = new B();
}
package day20.ex03_filed_method_access.package1;

public class A {
	//필드
	public int field1;	// public 접근제한
	int field2;			// default 접근제한
	private int field3;	// private 접근제한
	
	//생성자
	public A() {
		field1 = 1;		// 클래스 내부일 경우 접근제한자 영향없음
		field2 = 1;		// 동일
		field3 = 1;		// 동일
		method1();		// 동일
		method2();		// 동일
		method3();		// 동일
	}
	//메소드
	public void method1() {}	// public 접근제한
	void method2() {}			// default 접근제한
	private void method3() {}	// private 접근제한
	
}
package day20.ex03_filed_method_access.package1;
	// 패키지가 A클래스와 동일
public class B {
	public B() {
			A a = new A();
			a.field1 = 1;
			a.field2 = 1;
			//a.field3 = 1;	// private필드 접근 불가
			a.method1();
			a.method2();
			//a.method3();	// private필드 접근불가
		}
		
	}
package day20.ex03_filed_method_access.package2;
import day20.ex03_filed_method_access.package1.A;

public class C {
	// 패키지가 A,B클래스와 다름
	public C() {
		A a = new A();
		a.field1 = 1;
//		a.field2 = 1;	//default 필드 접근불가
//		a.field3 = 1;	//private 필드 접근불가
		//
		a.method1();
		//a.method2();	//default 메소드 접근불가
		//a.method3();	//private 메소드 접근불가
	}
  }

 

'JAVA > 국비수업' 카테고리의 다른 글

이전복습 (day19)  (0) 2020.07.24
getter_setter(day19)  (0) 2020.07.24
파이널(day18)  (0) 2020.07.23
싱글톤(day18)  (0) 2020.07.23
스테틱 변수(day18)  (0) 2020.07.23
Comments