이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
속성 특성(Attribute)
속성 특성의 용도
클래스 정의에 특성을 지정하여 특정 용도에 맞게 속성의 동작을 사용자 지정할 수 있습니다. 특성을 설정하여 속성에 대한 액세스, 데이터 저장공간, 가시성과 같은 특징을 제어할 수 있습니다. 서브클래스는 슈퍼클래스 멤버 특성을 상속하지 않습니다.
속성 특성 지정하기
properties
키워드와 동일한 라인에 속성 특성을 할당합니다.
properties (Attribute1 = value1, Attribute2 = value2,...) ... end
예를 들어, private
액세스를 갖는 속성 Data
를 정의해 보겠습니다.
properties (Access = private) Data end
값이 true
인 특성을 지정할 때는 더욱 단순한 구문을 사용할 수 있습니다. 특성 이름 자체는 true를 의미하며 이름에 NOT 연산자(~)를 추가하는 경우 false를 뜻하게 됩니다. 예를 들어, 다음 블록은 추상 속성을 정의합니다.
properties (Abstract)
...
end
속성 특성 표
모든 속성이 다음 표에 나와 있는 특성을 지원합니다. 특성 값은 디폴트가 아닌 값을 지정하는 properties...end
코드 블록 내에 정의된 모든 속성에 적용됩니다. 명시적으로 정의하지 않은 특성은 디폴트 값을 갖게 됩니다.
속성 특성(Attribute)
특성 | 값 | 추가 정보 |
---|---|---|
|
| 핸들 클래스만 해당. 자세한 내용은 Assignment When Property Value Is Unchanged 항목을 참조하십시오. |
|
| 추상 속성은 set 액세스 메서드나 get 액세스 메서드를 정의할 수 없습니다. 속성 get 및 set 메서드 항목을 참조하십시오. 추상 속성은 초기값을 정의할 수 없습니다. 봉인(Sealed) 클래스는 추상 멤버를 정의할 수 없습니다. |
|
|
자세한 내용은 클래스 멤버 액세스 항목을 참조하십시오. |
|
| 서브클래스는 상수 속성을 상속하지만 변경할 수는 없습니다. 상수 속성을 종속 속성으로 정의할 수 없습니다. 상수 속성에 대한 자세한 내용은 상수 값으로 클래스 속성 정의하기 항목을 참조하십시오. |
|
| 종속 속성에 대해 set 메서드를 정의할 수 있지만 set 메서드는 사실상 속성의 값을 설정할 수 없습니다. set 메서드는 또 다른 속성의 값을 설정하는 등 다른 동작을 수행할 수 있습니다. 예제는 종속 속성에 set 메서드를 사용하는 경우 항목을 참조하십시오. 종속 속성의 get 메서드에서 반환된 값은 |
|
|
MATLAB은 모든 서브클래스는 자세한 내용은 클래스 멤버 액세스 항목을 참조하십시오. |
|
| 자세한 내용은 속성 설정 및 쿼리 이벤트 항목을 참조하십시오. |
|
| MATLAB은 Hidden 특성이 true 인 속성의 이름 및 값을 명령 창에 표시하지 않습니다. 그러나 클래스 다이어그램 뷰어 앱에는 숨겨진 속성이 표시됩니다. |
|
| 핸들 클래스에서는 자세한 내용은 Exclude Properties from Copy 항목을 참조하십시오. |
| 양의 정수 – |
자세한 내용은 부분 속성 이름 일치에 대한 우선 순위 설정하기 항목을 참조하십시오. |
|
| 모든 서브클래스는 자세한 내용은 클래스 멤버 액세스, Properties Containing Objects 및 변경 가능한 속성과 변경 불가능한 속성 항목을 참조하십시오. |
|
| 자세한 내용은 속성 설정 및 쿼리 이벤트 항목을 참조하십시오. |
|
| 자세한 내용은 객체에 대한 저장 및 불러오기 프로세스 항목을 참조하십시오. |
프레임워크 특성 | 특정 프레임워크 기본 클래스를 사용하는 클래스는 프레임워크별 특성을 가집니다. 이러한 특성에 대한 자세한 내용은 사용하는 특정 기본 클래스에 대한 문서를 참조하십시오. |
속성 액세스 목록
Access
, GetAccess
및 SetAccess
특성에 대한 matlab.metadata.Class
인스턴스의 목록을 사용할 수 있습니다. 예를 들어 다음 클래스는 Prop1
및 Prop2
속성에 대한 액세스 목록을 선언합니다.
classdef PropertyAccess properties (GetAccess = {?ClassA, ?ClassB}) Prop1 end properties (Access = ?ClassC) Prop2 end end
Prop1
:
ClassA
클래스와ClassB
클래스는Prop1
에 대한 get 액세스 권한을 갖습니다.ClassA
및ClassB
의 모든 서브클래스는Prop1
에 대한 get 액세스 권한을 갖습니다.액세스 목록은 상속되지 않으므로,
PropertyAccess
의 서브클래스는Prop1
에 대한 get 액세스 권한을 명시적으로 정의하지 않는 한 해당 get 액세스 권한이 없습니다.
Prop2
:
ClassC
는Prop2
에 대한 get 액세스 권한과 set 액세스 권한을 갖습니다.ClassC
의 모든 서브클래스는Prop2
에 대한 get 액세스 권한과 set 액세스 권한을 갖습니다.액세스 목록은 상속되지 않으므로,
PropertyAccess
의 서브클래스는Prop2
에 대한 액세스 권한을 명시적으로 정의하지 않는 한 해당 액세스 권한이 없습니다.