Main Content

Java 객체의 데이터 필드

퍼블릭 및 프라이빗 데이터에 액세스하기

Java® 클래스는 퍼블릭 또는 프라이빗 액세스를 가지는 필드라는 멤버 변수를 포함할 수 있습니다.

코드가 직접 읽거나 수정할 수 있는 퍼블릭 데이터 필드에 액세스하려면 다음 구문을 사용하십시오.

object.field

프라이빗 데이터 필드에서 읽고, (허용되는 경우) 이 데이터 필드를 수정하려면 Java 클래스로 정의된 접근자 메서드를 사용하십시오. 이러한 메서드를 종종 get, set 메서드라고도 합니다.

예를 들어, java.awt.Frame 클래스는 프라이빗 및 퍼블릭 데이터 필드를 둘 다 가집니다. 읽기 접근자 메서드 getSizejava.awt.Dimension 객체를 반환합니다.

frame = java.awt.Frame;
frameDim = getSize(frame)
frameDim =

java.awt.Dimension[width=0,height=0]

Dimension 클래스는 퍼블릭 데이터 필드 heightwidth를 가집니다. height의 값을 표시합니다.

height = frameDim.height
height = 0

width의 값을 설정합니다.

frameDim.width = 42
frameDim =

java.awt.Dimension[width=42,height=0]

Java 객체의 퍼블릭 데이터 필드 표시하기

Java 객체의 퍼블릭 필드를 나열하려면 fieldnames 함수를 호출합니다. 예를 들어, Integer 객체를 만들고 필드 이름을 표시해 보겠습니다.

value = java.lang.Integer(0);
fieldnames(value)
ans = 
    'MIN_VALUE'
    'MAX_VALUE'
    'TYPE'
    'SIZE'

데이터 필드에 대한 자세한 내용을 표시하려면 다음을 입력하십시오.

fieldnames(value,'-full')
ans = 
    'static final int MIN_VALUE'
    'static final int MAX_VALUE'
    'static final java.lang.Class TYPE'
    'static final int SIZE'

정적 필드 데이터에 액세스하기

정적 데이터 필드는 객체의 전체 클래스에 적용되는 필드입니다. 정적 필드에 액세스하려면 클래스 이름을 사용합니다. 예를 들어, Integer 클래스의 TYPE 필드를 표시해 보겠습니다.

thisType = java.lang.Integer.TYPE
thisType =

int

또는 클래스의 인스턴스를 만듭니다.

value = java.lang.Integer(0);
thatType = value.TYPE
thatType =

int

MATLAB®은 클래스 이름을 사용하여 정적 필드에 할당하는 것을 허용하지 않습니다. 값을 할당하려면 클래스의 정적 set 메서드를 사용하거나 클래스의 인스턴스를 만드십시오. 예를 들어, java.className의 인스턴스를 만들어 value를 다음 staticFieldName 필드에 할당합니다.

objectName = java.className;
objectName.staticFieldName = value;

참고 항목