Java 객체의 데이터 필드
퍼블릭 및 프라이빗 데이터에 액세스하기
Java® 클래스는 퍼블릭 또는 프라이빗 액세스를 가지는 필드라는 멤버 변수를 포함할 수 있습니다.
코드가 직접 읽거나 수정할 수 있는 퍼블릭 데이터 필드에 액세스하려면 다음 구문을 사용하십시오.
object.field
프라이빗 데이터 필드에서 읽고, (허용되는 경우) 이 데이터 필드를 수정하려면 Java 클래스로 정의된 접근자 메서드를 사용하십시오. 이러한 메서드를 종종 get, set 메서드라고도 합니다.
예를 들어, java.awt.Frame
클래스는 프라이빗 및 퍼블릭 데이터 필드를 둘 다 가집니다. 읽기 접근자 메서드 getSize
는 java.awt.Dimension
객체를 반환합니다.
frame = java.awt.Frame; frameDim = getSize(frame)
frameDim = java.awt.Dimension[width=0,height=0]
Dimension
클래스는 퍼블릭 데이터 필드 height
와 width
를 가집니다. 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;