Tcl에서 어느 정도 완벽한 OOP 프로그래밍 구현이 가능하도록 구현된 확장 패키지, [incr Tcl]의 중요 키워드를 정리해 봅니다.
find class ?pattern?
클래스 목록을 나열합니다.
% itcl::find class ::AW::*
::AW::AhbDualPortZbtFlashCtrl ::AW::OcOr1200PDebugAhb ...
find object ?pattern? ?-class className? ?-isa className?
오브젝트를 검색합니다. -isa는 className으로부터 파생한 오브젝트입니다.
% itcl::find object * -isa ::AW::ambabus
ambabus_0
local className objName
인스탄스 생성 시 사용하며, 스코프를 벗어나면 자동적으로 인스탄스를 삭제합니다.
code
커맨드의 네임스페이스를 표시합니다.
% itcl::code ambabus
namespace inscope :: ambabus
scope
변수의 네임스페이스를 표시합니다.
delete class, delete object
클래스와 오브젝트를 제거하며, 파생된 인스탄스도 삭제합니다. 계승된 경우 부모 클래스가 삭제되면 자식과 자식... 인스탄스도 삭제됩니다.
#auto
자동적으로 인스탄스의 이름을 붙입니다.
% ::AW::ambabus inst#auto
instambabus0
% ::AW::ambabus inst#auto
instambabus1
this
자신 인스탄스의 메쏘드나 변수를 액세스시 사용합니다.
parent::method
현재 클래스에서 부모 클래스의 메쏘드나 변수를 엑세스시 부모클래스명::method를 붙입니다.