핸들 슈퍼클래스
핸들 클래스를 바탕으로 작성하기
handle 클래스는 추상 클래스입니다. 따라서 이 클래스의 객체는 직접 생성할 수 없습니다. 핸들 동작을 상속하는 서브클래스를 구현하려면 handle 클래스를 슈퍼클래스로 사용하십시오. MATLAB®은 handle 클래스에서 파생되는 여러 클래스를 정의합니다. 이들 클래스는 서브클래스에 특화된 기능을 제공합니다.
특화된 핸들 기본 클래스
클래스에 핸들 동작과 특정 기능을 모두 추가하려면 다음 handle 클래스에서 클래스를 파생시키십시오.
matlab.mixin.SetGet— 속성값에 액세스할 수 있는set메서드 및get메서드를 제공합니다.dynamicprops— 일반적으로 클래스가 아니라 객체와 연결된 속성을 정의할 수 있습니다.matlab.mixin.Copyable클래스에 대해 사용자 지정할 수 있는copy메서드를 제공합니다.
서브클래스를 정의하는 방법에 대한 자세한 내용은 서브클래스 생성자 설계하기 항목을 참조하십시오.
핸들 클래스 메서드
handle 클래스에서 클래스를 파생하는 경우 서브클래스는 핸들 객체를 더 효과적으로 사용할 수 있도록 하는 메서드를 상속합니다.
클래스 이름을 methods 함수에 전달하여 클래스의 메서드를 나열합니다.
methods('handle')Methods for class handle: addlistener findobj gt lt delete findprop isvalid ne eq ge le notify
이벤트 및 리스너 메서드
notify 메서드와 addlistener 메서드를 사용하는 방법에 대한 자세한 내용은 이벤트와 리스너 구문 항목을 참조하십시오.
관계 메서드
TF = eq(H1,H2) TF = ne(H1,H2) TF = lt(H1,H2) TF = le(H1,H2) TF = gt(H1,H2) TF = ge(H1,H2)
핸들 클래스는 이러한 함수를 오버로드하여 핸들에 대한 동일성 테스트 및 정렬을 지원합니다. 각 입력 배열 쌍에 대해, 이러한 함수는 동일한 크기의 논리형 배열을 반환합니다. 각 요소는 요소별 동일성 또는 비교 테스트 결과입니다. 입력 배열은 크기가 동일해야 합니다. 또는 하나 또는 둘 모두가 스칼라일 수 있습니다. 필요에 따라 메서드가 스칼라 확장을 수행합니다. 핸들 클래스 관계 메서드에 대한 자세한 내용은 relationaloperators 항목을 참조하십시오.
테스트 핸들 유효성
isvalid handle 클래스 메서드를 사용하여 변수가 유효한 핸들 객체인지 확인할 수 있습니다. 예를 들어, 다음 명령문에서
B = isvalid(H)
B는 논리형 배열이며, 그 요소는 H의 대응되는 요소가 유효한 핸들인 경우에만 true입니다. B는 항상 H와 크기가 동일합니다.
MATLAB이 객체를 소멸시키는 경우
MATLAB은 함수가 다음과 같은 경우에 해당 함수의 작업 공간에 있는 객체를 소멸시킵니다.
객체 변수에 새 값을 재할당합니다.
함수의 나머지 부분에서 객체 변수를 사용하지 않습니다.
함수 실행이 종료됩니다.
MATLAB은 객체를 소멸시킬 때 해당 객체의 속성에 저장된 값도 소멸시킵니다. MATLAB은 MATLAB 또는 운영 체제에서 사용할 수 있도록 해당 객체와 연결된 컴퓨터 메모리를 해제합니다.
핸들 클래스에서 메모리를 비울 필요는 없습니다. 그러나 객체를 소멸시킬 때 수행되기를 원하는 다른 작업이 있을 수 있습니다. 예를 들어, 파일을 닫거나 객체 생성자가 시작된 외부 프로그램을 종료할 수 있습니다. 이러한 목적으로 핸들 서브클래스에 delete 메서드를 정의합니다.
자세한 내용은 핸들 클래스 소멸자 항목을 참조하십시오.