DefaultMutableTreeNode

DefaultMutableTreeNode (트리 데이터 구조의 일반용 노드)

DefaultMutableTreeNode은 트리 데이터 구조에서 사용하는 범용 노드예요. 기본 변경 가능 트리 노드 사용 예시는 The Java Tutorial의 "How to Use Trees"에서 확인할 수 있어요. 트리 노드는 부모를 최대 하나 가질 수 있고 자식은 0개 이상 가질 수 있어요.

출처: Java API Reference

본문

DefaultMutableTreeNode은 노드의 부모와 자식을 살펴보고 수정하는 연산과, 노드가 속한 트리를 살펴보는 연산을 제공해요. 노드의 트리는 해당 노드에서 시작해 부모와 자식으로의 모든 가능한 링크를 따라가며 도달할 수 있는 모든 노드의 집합이에요.

부모가 없는 노드는 트리의 루트가 되고, 자식이 없는 노드는 리프(leaf)가 돼요. 트리는 많은 서브트리로 구성될 수 있고 각 노드는 자신의 서브트리의 루트 역할을 해요. 이 클래스는 다양한 순서로 트리나 서브트리를 효율적으로 순회하거나 두 노드 사이의 경로를 따라가기 위한 열거(enumerations)를 제공해요.

DefaultMutableTreeNode은 사용자 객체에 대한 참조도 보유할 수 있으며, 그 사용 방법은 사용자에게 맡겨져요. toString()으로 문자열 표현을 요청하면 사용자 객체의 문자열 표현이 반환돼요.

이 클래스는 스레드에 안전하지 않아요. 여러 스레드에서 DefaultMutableTreeNode(또는 TreeNode 트리)를 사용하려면 직접 동기화를 해야 해요. 흔한 관례는 트리의 루트 노드를 기준으로 동기화하는 거예요.

DefaultMutableTreeNodeMutableTreeNode 인터페이스를 구현하지만, 추가되는 MutableTreeNode 구현이 어떤 것이든 DefaultMutableTreeNode의 모든 메서드가 적용 가능한 것은 아니에요. 특히 제공되는 일부 열거를 사용하는 메서드들은 DefaultMutableTreeNode 인스턴스만 담고 있다고 가정해요.

경고: 이 클래스의 직렬화된 객체는 향후 Swing 릴리스와 호환되지 않을 수 있어요. 현재 직렬화 지원은 같은 버전의 Swing을 실행하는 애플리케이션 간 단기 저장이나 RMI에 적합해요. 1.4부터 모든 JavaBeans의 장기 저장 지원이 java.beans 패키지에 추가됐어요. XMLEncoder를 참고하세요.

더 알아보기 (Learn more)

Java 공식 API