Small Grey Outline Pointer Java 접근 수준 지시자(Access-level Modifier)/ 다형성(polymorphism)
본문 바로가기
Dev./java

Java 접근 수준 지시자(Access-level Modifier)/ 다형성(polymorphism)

by sso. 2022. 5. 11.

접근 수준 지시자

class AAA {
public int num1;
protected int num2;
  private int num3;
int num4; //디폴트 선언

public void md1() {---}
protected void md2() {---}
private void md3() {---}
void md4() {---} //디폴트 선언
}

 

 

 

public : 모든 클래스에서 사용 가능
접근에 대한 제어가 없으므로 모든 곳에서 접근 (접근 제한 없음)

protected : 같은 패키지 내에서와 자손 클래스에서 접근 가능

default : 같은 패키지 내에서만 접근가능 
private 보다 한곳에서 더 접근이 가능하다


private : 같은 클래스에서만 사용 가능
메소드를 통해서만 접근 가능. 점을 찍고 접근하는 것은 불가능하다(외부접근)


허용범위 
private < default < protected < public

 

 

 

 


 

다형성

 

A obj=new A();

 

A obj=new B();

(클래스가 B가 A를 상속할 때)

 

참조변수 obj 하나로 A타입의 인스턴스를 참조할 수도 B타입의 인스턴스를 참조할 수도 있는데 이것이 다형성이다

 

 

 

객체 만들고 상속하기

package javaPrac;



class Animal{ //animal 클래스
	void breath() {
		System.out.println("숨쉬기");
	}
}
class Lion extends Animal{ //animal클래스를 상속한 lion클래스
	public String toString() {
		return "사자";
	}
}

class ZooKeeper{ //ZooKeeper(사육사) 클래스
	void feed(Lion lion) { //사자에게 먹이주는 클래스
		System.out.println(lion + "에게 고기 주기");
	}
}

public class Polymorphism3{
	public static void main(String[] args) {
		Lion lion1= new Lion(); //Lion 인스턴스 생성
		ZooKeeper james = new ZooKeeper(); //james이름의 사육사 인스턴스 생성
		james.feed(lion1); //james가 lion1에게 먹이를 줌
	}
}

사자에게 고기 주기

 

 

 

 

객체 만들고 상속하기

package javaPrac;

class MethodPrac_02 {
	public static void main(String[] args) {
		MethodPrac_02(7, 3);
	}

	public static void MethodPrac_02(int n1, int n2) {
		System.out.println("더하기 : " + (n1 + n2));
		System.out.println("빼기: " + (n1 - n2));
		System.out.println("곱하기 : " + (n1 * n2));
		System.out.println("나누기 몫 : " + (n1 / n2));
		System.out.println("나누기 나머지 : " + (n1 % n2));
	}

}

 

 

더하기 : 10
빼기: 4
곱하기 : 21
나누기 몫 : 2
나누기 나머지 : 1

 

 

 

 

 

 

 

728x90

'Dev. > java' 카테고리의 다른 글

조건문  (0) 2022.05.14
연산자(비트연산/ 조건식)  (0) 2022.05.14
Java 형변환  (0) 2022.05.10
Java 복습문제 02  (0) 2022.05.09
Java 메서드  (0) 2022.05.08

댓글