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

특성 지정

특성 구문

특성은 클래스의 동작과 클래스 구성요소(속성, 메서드, 이벤트)를 수정합니다. 특성을 사용하면 복잡한 코드를 작성하지 않고도 유용한 동작을 정의할 수 있습니다. 예를 들어, 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로 설정하려는 경우에만 특성을 지정하십시오.

관련 항목