이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

속성 특성(Attribute)

속성 특성의 용도

클래스 정의에 특성을 지정하면 특정 용도에 맞게 속성의 동작을 사용자 지정할 수 있습니다. 특성을 설정하여 속성에 대한 액세스, 데이터 저장공간, 가시성과 같은 특징을 제어할 수 있습니다. 서브클래스는 슈퍼클래스 멤버 특성을 상속하지 않습니다.

속성 특성 지정하기

properties 키워드와 같은 라인에 속성 특성을 할당합니다.

properties (Attribute1 = value1, Attribute2 = value2,...)
   ...
end

예를 들어, Data 속성에 private 액세스를 지정합니다.

properties (Access = private)
   Data
end

특성 구문에 대한 자세한 내용은 특성 지정 항목을 참조하십시오.

속성 특성 표

모든 속성이 다음 표에 나와 있는 특성을 지원합니다. 특성 값은 디폴트가 아닌 값을 지정하는 properties...end 코드 블록 내에 정의된 모든 속성에 적용됩니다.

속성 특성(Attribute)

특성 이름

클래스

설명

AbortSet

논리형

디폴트 값 = false

true이면 새 값이 현재 값과 같은 경우 MATLAB®이 속성값을 설정하지 않습니다. MATLAB은 속성 set 메서드가 존재하는 경우 이를 호출하지 않습니다.

핸들 클래스의 경우 AbortSettrue로 설정해도 속성의 PreSet 이벤트 및 PostSet 이벤트에 대한 트리거가 차단됩니다.

Assignment When Property Value Is Unchanged 항목을 참조하십시오.

Abstract

논리형

디폴트 값 = false

true인 경우, 속성에 구현이 없지만 구체 서브클래스(Concrete Subclass)는 Abstracttrue로 설정하지 않고 이 속성을 다시 정의해야 합니다.

  • 추상 속성은 set 액세스 메서드나 get 액세스 메서드를 정의할 수 없습니다. 속성 액세스 메서드 항목을 참조하십시오.

  • 추상 속성은 초기값을 정의할 수 없습니다. Assigning a Default Value 항목을 참조하십시오.

  • 모든 서브클래스는 SetAccess 속성 특성과 GetAccess 속성 특성에 대해 슈퍼클래스와 같은 값을 지정해야 합니다.

  • Abstract=true는 클래스 특성 Sealed=false(디폴트 값)와 함께 사용해야 합니다.

Access(쓰기 전용으로, 이 meta.property 속성은 쿼리할 수 없음. GetAccessSetAccess를 사용해 쿼리해야 함.)

  • 열거형, 디폴트 값 = public

  • meta.class 객체

  • meta.class 객체로 구성된 셀형 배열

SetAccessGetAccess가 같은 값을 가지도록 설정하려면 Access를 사용하십시오. SetAccessGetAccess(Access 아님)의 값은 직접 쿼리하십시오.

public - 무제한 액세스

protected – 클래스나 서브클래스에서 액세스

private – 클래스 멤버에서만 액세스

이 속성에 대해 get 액세스와 set 액세스를 갖는 클래스의 목록. 클래스를 다음 형식의 meta.class 객체로 지정하십시오.

  • 단일 meta.class 객체

  • meta.class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}private 액세스와 같습니다.

클래스 멤버 액세스 항목을 참조하십시오.

Constant

논리형

디폴트 값 = false

클래스의 모든 인스턴스에서 이 속성이 동일한 값을 갖도록 하려면 true로 설정합니다.

  • 서브클래스는 상수 속성을 상속하지만 변경할 수는 없습니다.

  • Constant 속성은 Dependent일 수 없습니다.

  • SetAccess는 무시됩니다.

자세한 내용은 상수 값으로 클래스 속성 정의하기 항목을 참조하십시오.

Dependent

논리형

디폴트 값 = false

false인 경우 속성값이 객체에 저장됩니다. true인 경우 속성값이 객체에 저장되지 않습니다. set 함수와 get 함수는 속성 이름을 사용하여 객체의 요소를 참조하는 방식으로 속성에 액세스할 수 없습니다.

MATLAB은 get 메서드를 정의하지 않는 Dependent 속성들의 이름과 값을 명령 창에 표시하지 않습니다(스칼라 객체만 표시됨).

종속 속성의 get 메서드에서 반환된 값은 isequal을 사용하여 객체가 동일한지를 테스트할 때 고려되지 않습니다.

GetAccess

열거형

디폴트 값 = public

public — 무제한 액세스

protected – 클래스나 서브클래스에서 액세스

private — 클래스 멤버에서만 액세스(서브클래스에서 액세스 못 함)

이 속성에 대해 get 액세스를 갖는 클래스를 나열합니다. 클래스를 다음 형식의 meta.class 객체로 지정하십시오.

  • 단일 meta.class 객체

  • meta.class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}private 액세스와 같습니다.

클래스 멤버 액세스 항목을 참조하십시오.

MATLAB은 protected 또는 private GetAccess를 갖는 속성이나 Hidden 특성이 true인 속성의 이름 및 값을 명령 창에 표시하지 않습니다.

struct 함수는 객체를 structs로 변환할 때 모든 속성에 대한 필드를 정의합니다.

GetObservable

논리형

디폴트 값 = false

true이며 핸들 클래스 속성인 경우, 이 속성에 액세스하기 위한 리스너를 만들 수 있습니다. 리스너는 속성값을 쿼리할 때마다 호출됩니다. 속성 설정 및 쿼리 이벤트 항목을 참조하십시오.

Hidden

논리형

디폴트 값 = false

속성이 속성 목록에 표시될 수 있는지 여부를 결정합니다(예: 속성 인스펙터, set 또는 get에 대한 호출 등).

MATLAB은 Hidden 특성이 true인 속성이나 protected 또는 private GetAccess를 갖는 속성의 이름 및 값을 명령 창에 표시하지 않습니다.

NonCopyable

논리형

디폴트 값 = false

객체가 복사될 때 속성값이 복사될 수 있는지 여부를 결정합니다.

핸들 클래스에서는 NonCopyabletrue로만 설정할 수 있습니다.

자세한 내용은 Exclude Properties from Copy 항목을 참조하십시오.

SetAccess

열거형

디폴트 값 = public

public — 무제한 액세스

protected – 클래스나 서브클래스에서 액세스

private — 클래스 멤버에서만 액세스(서브클래스에서 액세스 못 함)

immutable — 생성자에서만 속성을 설정할 수 있음

Mutable and Immutable Properties 항목을 참조하십시오.

이 속성에 대해 set 액세스를 갖는 클래스를 목록으로 만들 수 있습니다. 클래스를 다음 형식의 meta.class 객체로 지정하십시오.

  • 단일 meta.class 객체

  • meta.class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}private 액세스와 같습니다.

클래스 멤버 액세스 항목을 참조하십시오.

SetObservable

논리형

디폴트 값 = false

true이며 핸들 클래스 속성인 경우, 이 속성에 액세스하기 위한 리스너를 만들 수 있습니다. 리스너는 속성값을 수정할 때마다 호출됩니다. 속성 설정 및 쿼리 이벤트 항목을 참조하십시오.

Transient

논리형

디폴트 값 = false

true인 경우, 객체가 파일에 저장될 때 속성값이 저장되지 않습니다. 객체 저장에 대한 자세한 내용은 객체에 대한 저장 및 불러오기 프로세스 항목을 참조하십시오.

프레임워크 특성

특정 프레임워크 기본 클래스를 사용하는 클래스는 프레임워크별 특성을 가집니다. 이러한 특성에 대한 자세한 내용은 사용하는 특정 기본 클래스에 대한 문서를 참조하십시오.

관련 항목