Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

속성 특성(Attribute)

속성 특성의 용도

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

속성 특성 지정하기

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

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

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

properties(Access = private) Dataend

속성 특성 표

모든 속성이 다음 표에 나와 있는 특성을 지원합니다. 특성 값은 디폴트가 아닌 값을 지정하는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 액세스 메서드를 정의할 수 없습니다.속성 액세스 메서드를 참조하십시오.

  • 추상 속성은 초기값을 정의할 수 없습니다.디폴트 값 할당하기를 참조하십시오.

  • 모든 서브클래스는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은GetAccess특성이protected또는private인 속성이나,Hidden특성이true인 속성의 이름 및 값을 명령 창에 표시하지 않습니다.

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

GetObservable

논리형

디폴트 값 =false

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

Hidden

논리형

디폴트 값 =false

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

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

NonCopyable

논리형

디폴트 값 =false

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

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

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

PartialMatchPriority

양의 정수

디폴트 값 = 1

matlab.mixin.SetGet의 서브클래스에만 사용합니다.set메서드 및get메서드에서 사용되는 부분 속성 이름 일치의 상대적 우선 순위를 정의합니다.

자세한 내용은부분 속성 이름 일치에 대한 우선 순위 설정하기항목을 참조하십시오.

SetAccess

열거형

디폴트 값 =public

public— 무제한 액세스

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

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

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

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

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

  • 단일meta.class객체

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

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

SetObservable

논리형

디폴트 값 =false

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

Transient

논리형

디폴트 값 =false

true인 경우, 객체가 파일에 저장되거나 MATLAB에서 다른 프로그램(예: MATLAB Engine 응용 프로그램)으로 전송될 때 속성값이 저장되지 않습니다. 객체 저장에 대한 자세한 내용은객체에 대한 저장 및 불러오기 프로세스항목을 참조하십시오.

프레임워크 특성

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

관련 항목