Main Content

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

변경 가능한 속성과 변경 불가능한 속성

속성값에 대한 set 액세스

속성 SetAccess의 특성을 사용하여, 코드가 어떤 조건에서 객체 속성값을 수정할 수 있는지를 정할 수 있습니다. set 액세스의 수준은 4가지가 있으며, 이를 통해 객체 속성값에 대한 다양한 수준의 액세스 권한을 제공합니다.

  • SetAccess = public — 객체에 대한 액세스 권한이 있는 코드는 퍼블릭 속성값을 설정할 수 있습니다. 객체 속성 수정과 관련해 핸들 클래스의 동작과 값 클래스의 동작 간에는 차이가 있습니다.

  • SetAccess = protected — 클래스 메서드 또는 서브클래스의 메서드 내에서 실행되는 코드만 속성값을 설정할 수 있습니다. 클래스나 그 서브클래스가 객체 속성의 값을 변경하도록 메서드를 정의하지 않는 한, 객체 속성의 값을 변경할 수 없습니다.

  • SetAccess = private — 정의 클래스만 속성값을 설정할 수 있습니다. 클래스가 속성을 설정하는 메서드를 정의한 경우에만 객체 속성의 값을 변경할 수 있습니다.

  • SetAccess = immutable — 생성되는 동안 속성값이 설정됩니다. 객체 생성 후에는 변경 불가능한 속성의 값을 변경할 수 없습니다. 속성값을 디폴트 값으로 설정하거나 클래스 생성자에서 속성값을 설정하십시오. 변경 불가능한 속성에 대해서는 속성 set 메서드(set.PropertyName)를 정의할 수 없습니다.

관련 내용은 Properties Containing Objects 항목을 참조하십시오.

변경 불가능한 속성 정의하기

다음 클래스 정의에서 Immute 클래스 생성자만 CurrentDate 속성값을 설정할 수 있습니다.

classdef Immute
   properties (SetAccess = immutable)
      CurrentDate
   end
   methods
      function obj = Immute
         obj.CurrentDate = datetime("today");
      end
   end
end
a = Immute
a = 

  Immute with properties:

    CurrentDate: 09-Jun-2022

관련 항목