2013년 6월 26일 수요일

(130626) 3일차 PublicTest.java, Sds2PublicTest.java (Access Control 테스트)

 - PublicTest.java 소스
package sds1;
import sds2.Sds2PublicTest;
public class PublicTest extends Sds2PublicTest { // 상속
 int money = 200;

 public void jsp1(){
  Sds2PublicTest st = new Sds2PublicTest();
  st.spring1();
  // st.spring2(); // Package가 다르면 아예 없는 메소드로 인식. (Package가 같고 상속받으면 사용 가능.)
  // st.spring3(); // 상속과 상관없이 직접 가지고 들어와야 함.
  // st.spring4(); // Package가 같아도 호출되지 않음.

 }

 protected void jsp2(){

 }

 void jsp3(){

 }

 private void jsp4(){

 }

}



 - Sds2PublicTest.java 소스
package sds2;
public class Sds2PublicTest { // PublicTest.java와 다른 패키지 안에 있으므로 public을 지우면(default로 설정) 서로 접근 불가

 String carname = "Bmw x6";

 public void spring1(){ // public일 경우 어느 패키지, 어느 클래스에서든지 접근 가능

 }

 protected void spring2(){

 }

 void spring3(){ // default

 }

 private void spring4(){

 }

 protected class A{ // Protected와 Private는 내부 클래스에서만 선언 가능.
      //외부 클래스에서는 선언 안됨.
 }

 private class B{

 }

}