특성 지정
특성 구문
특성은 클래스의 동작과 클래스 구성요소(속성, 메서드, 이벤트)를 수정합니다. 특성을 사용하면 복잡한 코드를 작성하지 않고도 유용한 동작을 정의할 수 있습니다. 예를 들어, SetAccess
특성은 private
으로 설정하여 읽기 전용 속성을 생성하되, GetAccess
특성은 public
으로 설정된 상태로 그대로 둘 수 있습니다.
properties (SetAccess = private) ScreenSize = getScreenSize end
모든 클래스 정의 블록(classdef
, properties
, methods
, events
)은 특정한 특성을 지원합니다. 모든 특성은 디폴트 값을 가집니다. 디폴트 값에서 미리 정의된 다른 값으로 변경하려는 경우에만 특성 값을 지정하십시오.
참고
구성요소 블록에는 특정한 특성의 값을 한 번만 지정하십시오.
특성 설명
지원되는 특성 목록은 다음 항목을 참조하십시오.
특성 값
특성 값을 지정할 경우 이 지정된 값이 정의 블록 내에 정의된 모든 구성요소에 영향을 미칩니다. 예를 들어, 다음에 나오는 속성 정의 블록은 다음을 설정합니다.
AccountBalance
속성의SetObservable
특성을true
로 설정함SSNumber
속성과CreditCardNumber
속성의Hidden
특성을true
로,SetAccess
특성을private
으로 설정함
각기 다른 특성 설정을 사용하여 속성을 정의하려면 여러 properties
블록이 필요합니다.
properties (SetObservable = true) AccountBalance end properties (SetAccess = private, Hidden = true) SSNumber CreditCardNumber end
앞의 예제에 표시된 것처럼 여러 특성을 지정하는 경우 쉼표로 구분된 목록에 지정합니다.
클래스 특성을 지정할 때는 classdef
키워드 바로 다음에 특성 목록을 추가합니다.
classdef (AttributeName = attributeValue) ClassName ... end
true/false 특성을 지정하는 더 단순한 구문
값이 true
또는 false
인 특성을 지정할 때는 더욱 단순한 구문을 사용할 수 있습니다. 특성 이름 자체만으로도 true
를 의미하고 이름에 not
연산자(~
)를 추가하는 경우 false
를 의미한다는 것을 암시합니다. 예를 들면 다음과 같습니다.
methods (Static) ... end
위의 명령문은 다음과 동일합니다.
methods (Static = true) ... end
특성을 false
로 정의하려면 특성 이름 앞에 not
연산자를 사용하십시오.
methods (~Static) ... end
위의 명령문은 다음과 동일합니다.
methods (Static = false) ... end
논리값(즉, true
또는 false
)을 받는 모든 특성은 디폴트 값으로 false
를 가집니다. 따라서, 이를 true
로 설정하려는 경우에만 특성을 지정하십시오.