자바공부하기 58

 

메서드를 이용한 접근제어

- public 메서드를 이용하여 private 멤버필드에 데이터를 전달한다.

 

- private 멤버필드에 값 전달하기

: 값 입력받기

* 외부로부터 데이터를 매개변수 형태로 받아서 내부의 멤버에 전달

 

: 값 전달하기

* 메서드의 리턴을 통해서 멤버필드에 전달

 

- getXXX() , setXXX()

 

Class Test6 {

private int top_secret;

public void setMyTop(int x){

top_secret = x;

}

public int getMyTop() {

return top_secret;

}

}

public class Test6Main {

public static void main(String[] args) {

int s;

Test6 t6 = new Test6() ;

t6.setMyTop(1000);

s = t6.getMyTop();

System.out.println("private멤버의 값은: " +s);

System.out.println("private멤버의 값은: " + t6.getMyTop());

}

}

 

 

public메서드를 통한 private메서드의 접근

다음글에선 private에 대해 알아볼꺼에요 ^^

 

자바공부하기 57

접근제어

 

 

Class Father {

public int age;

public long height;

private float weight;

}

 

class Son extends Father {

float getWeight() {

return weight;

}

}

 

public class AccessControlMain {

public static void main(String[] args) {

Son son = new Son();

// Upcasting

Father son1 = son;

son1.age= 100;

son1.height = 170L;

son1.weight = 49.0F;

System.out.println("age". + son1.age);

System.out.println("height" + son1. height);

System.out.println("weight" + son1.weight);

System.out.println("weight:" + son.getWeight());

}

}

 

자바공부하기 56

 

접근제어

 

- public과 private의 차이, 그리고 protected

* 외부 공개 / 내부전용

 

- 선언된 객체 내의 변수에 값을 직접 할당할 수 없게 제어

* 객체의 메모리 생성 후의 접근이 기본

* 객체의 점(.)찍고 변수에 접근이 불가능

 

- 자료의 은폐화(Encapsulation)

* 객체의 메모리 생성 후, 객체 내의 변수에 대한 접근제어

* 상소관계에서 아버지 클래스와 아들 클래스 간의 접근제어

 

- 자바에서 아무 접근 제어자를 쓰지 않을 경우 package protected(default)로 설정

 

 

 

+ Recent posts