접근제한자(Modifier)(+package)

YongJun·2023년 9월 5일

JAVA

목록 보기
15/24
post-thumbnail

접근제한자(Modifier)

클래스같은 패키지다른 패키지다른 패키지(자식 클래스)
privateOXXX
defaultOOXX
protectedOOXO
publicOOOO

※ default라고 직접 쓰는 것이 아니라
public, protected, private 를 쓰지 않은 상태
※ protected는 다른 패키지에서 Sub 클래스라면 접근이 가능하다
단 Sub 클래스로 생성해야만 한다
Super클래스로 생성하면 접근이 안된다

package

  • 서로 관련이 있는 *.class 파일들의 모임
  • 맨 첫줄에 1번만 기술할 수 있다
  • 소문자로 기입
  • 자바가 제공하는 기본 패키지 java.lang (default package)이다

예제

package com.zoo;

public class Zoo {
	public void tiger() {
		System.out.println("무서운 호랑이");
	}
	protected void giraffe() {
		System.out.println("목이 긴 기린");
	}
	void elephant() {
		System.out.println("뚱뚱한 코끼리");
	}
	private void lion() {
		System.out.println("멋진 사자");
	}
}
package com.zoo;

public class Zoo2 {

	public static void main(String[] args) {

		Zoo z = new Zoo();
		z.tiger();
		z.giraffe();
		z.elephant();
		//z.lion();

	}

}
/*
무서운 호랑이
목이 긴 기린
뚱뚱한 코끼리
*/
package com.zoo.safari;

import com.zoo.Zoo;

public class Safari extends Zoo{

	public static void main(String[] args) {
		
		Zoo z = new Zoo(); 
		z.tiger();
		//z.giraffe(); //Super클래스로 생성하면 접근이 안된다
		//z.elephant();
		//z.lion();
		
		Safari s = new Safari();
		s.tiger();
		s.giraffe();

	}

}
/*
무서운 호랑이
무서운 호랑이
목이 긴 기린
*/
package com.apple;

import com.zoo.Zoo;

public class Apple {

	public static void main(String[] args) {
		System.out.println("빨간 사과");

		//Zoo클래스의 tiger() 호출
		Zoo z = new Zoo();
		z.tiger();
		//z.giraffe();
		//z.elephant();
		//z.lion();
	}

}
/*
빨간 사과
무서운 호랑이
*/
profile
개(발자어)린이

0개의 댓글