인프런 커뮤니티 질문&답변
Node root의 선언 위치
작성
·
235
0
안녕하세요. 문제를 다시 풀던 중 궁금점이 생겨 질문을 남기게 되었습니다. 본 강의에서 Node root를 메인 메서드 밖에 선언하였는데 아래 코드와 같이
import java.util.*;
class Node{
int data;
Node lt, rt;
public Node(int n){
data = n;
lt = rt = null;
}
}
public class Practice{
public void DFS(Node root){
if(root == null)
return;
else{
DFS(root.lt);
System.out.print(root.data + " ");
DFS(root.rt);
}
}
public static void main(String[] args){
Practice t = new Practice();
Node root = new Node(1);
root.lt = new Node(2);
root.rt = new Node(3);
root.lt.lt = new Node(4);
root.lt.rt = new Node(5);
root.rt.lt = new Node(6);
root.rt.rt = new Node(7);
t.DFS(root);
}
}
Node root를 메인메소드 안에서 선언하여도 정상적으로 작동하는 것 처럼 보였습니다.
1. 제가 올린 코드처럼 Node root를 메인메서드 안에 선언하는 것이 문제가 되는 부분이 있을까요?
2. 본 강의에서 처럼 Node root를 메인메서드 밖에다 선언하는 특별한 이유가 있나요?
3. 메인메서드 안에 선언하는 것과 밖에 선언하는 것에 차이점이 있나요?





