JAVA 2011. 6. 14. 00:44
이번에는 객체의 데이터 필드의 선언방법과 사용방법을 알아본다.

[이름]

[데이터]
반지름  --------------> 필드로 선언되야 할 부분

[기능]
면적을 구한다


이렇게 정의된 클래스를 소스로 나타내 보자.

public class Circle {
double radius;                         -------- > 필드 
Circle(double radius){
this.radius = radius;         -------- > 생성자
}
double getArea(){                    -------- > 매소드
double area;
area = radius * radius * 3.14;
return area;
}
}

이렇게 나뉘어 진다. 이런식으로 필드를 선언한다. 필드 뿐만아니라 다른 종류의 

변수들도 있다. 생성자의 radius라는 파라미터 변수, getArea 메소드안에 area라는 

로컬 변수가 있다. 이렇듯 변수는 선언 위치에 따라 변수 이름도 다르지만 사용할 수 

있는 범위도 서로 다르다.

필드의 사용 범위

파라미터 변수는 해당 생성자나 매소드 안에서만 사용 가능 하고 로컬변수는 선언 된

위치부터 매소드의 끝 또는 선언된 블록의 끝까지 사용할 수 있지만 필드는 같은

클래스 내에서라면 순서에 상관없이 생성자나 매소드 안에서 얼마든지 사용 할 수있다.

필드는 클래스 외부에서도 사용 할 수있는데 다음을 보자.

public class Cirtest {
public static void main(String args[]){
Circle obj = new Circle(0.0);
obj.radius = 5.0;
double area = obj.getArea();
System.out.println(obj.radius);
System.out.println(area);
}
}
이런식으로 필드를 선언한 클래스 외부의 다른 클래스에서도 사용가능하다.

하지만 이런식으로 외부에서 접근하는 것을 막을 수도있다.

바로 접근 제어 수식어(access control modifier) 인 private 을 쓰면된다.

필드를 선언 할 때 private double radius;  라고 선언하면 외부에서 접근을 할 수 없다.

자바에서는 이런식으로 객체의 구성요소를 외부로부터 감추는 정보 은닉(infomation hiding) 

기술을 제공하고 있는데 이 기술은 객체들이 복잡하게 얽히는 것을 방지한다.











출판사 : 한빛미디어 , 저자 : 김윤명 님의 뇌를 자극하는 Java프로그래밍에서 공부한 내용입니다.



 

'JAVA' 카테고리의 다른 글

JAVA] 20. 클래스의 정적 구성 요소  (0) 2011.06.17
JAVA] 19. 메소드  (0) 2011.06.15
자바에서의 인스턴스란?  (1) 2011.06.13
JAVA] 17. 생성자  (0) 2011.06.13
JAVA] 16. 객체와 클래스  (0) 2011.06.09
posted by 젊은쎄오
: