작성
·
195
0
tree.root.rt = new Node(3);
tree객체에서 root를 참조하고, root 객체의 rt 변수의 값을 3으로 설정하는 것은 이해했습니다.
그런데,
tree.root.rt.lt는 rt변수에서 lt를 접근하는 건가요..??
변수에서 변수를 참조하는 것이 잘 이해가 되지 않습니다.
감사합니다.
답변 2
0
안녕하세요^^
tree.root.rt 는 root 노드의 오른쪽 자식 노드를 가르킵니다.
rt가 주소를 저장하는 변수이지만 주소를 통해 노드를 참조하므로 노드라고 생각하시면 이해가 쉽게 될 겁니다.
tree.root.rt.lt는 root노드의 오른쪽 자식 노드의 왼쪽 자식 노드입니다. 즉 root노드의 손자 노드라고 생각하면 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다.
버럼님, 문의하신 tree.root.rt.lt
의 경우 tree
객체에서 root
노드를 참조한 뒤, 이 root
노드의 rt
라는 노드를 참조하고, 마지막으로 rt
노드의 lt
라는 노드를 참조하는 것입니다.
즉, tree
란 객체 안에 root
라는 노드가 있고, root
노드 안에 rt
라는 자식 노드가 있으며, 이 rt
노드 안에 다시 lt
라는 자식 노드가 있는 구조를 나타냅니다.
객체지향 프로그래밍에서 객체의 속성(여기서는 노드)이 다른 객체를 참조할 수 있으며, 이렇게 참조된 객체가 또 다시 다른 객체를 참조하는 연쇄적인 참조가 가능합니다. 이를 통해 트리나 그래프와 같은 복잡한 자료구조를 구현할 수 있습니다.
tree.root.rt = new Node(3);
에서 new Node(3)
을 통해 새로운 노드 객체를 생성하고 tree
의 root
의 rt
속성에 이 노드를 할당한 것입니다. 그리고 이후에 tree.root.rt.lt
와 같이 접근하면 rt
노드의 lt
속성에 접근하는 것입니다.
트리의 각 노드는 일반적으로 다수의 속성을 가질 수 있으며 (여기서는 lt
, rt
로 가정된 것 같습니다), 이들은 다른 노드의 참조를 저장할 수 있습니다.