2013-04-20 2 views
-2

작은 인수로 반복적으로 호출되는 함수에서이 함수 내에서 클래스의 객체를 만드는 경우. 재귀 적으로 생성 된 객체는 동일한 이름을 가지므로 고유성을 유지할 수 없습니다. Java로 이러한 사례를 어떻게 처리 할 수 ​​있습니까?새로운 객체를 생성하는 Java에서 함수를 재귀 적으로 호출

+0

코드가 있습니까? 예를 들어? – Maroun

+4

객체에는 이름이 없습니다. 변수에는 이름이 있지만 범위가 있습니다. –

답변

2

이 질문은 오해에서 유래했다고 생각합니다. Java에서 로컬 변수에 지정한 이름은 코드가 실행될 때 100 % 부적합합니다. 프로그래머가 당신이 말하는 변수를 지정하는 것이 유일한 목적입니다 (이름을 지정하고 컴파일러가 있음). 지역 범위, 그 위의 범위 등을 살펴봄으로써 무엇을 의미하는지 파악하십시오.)

그래서 재귀 적 메서드를 호출하여이 메서드에서 새 개체를 포함하는 변수를 선언하면 Java와 관련하여 충돌이 발생하지 않으며 별개의 개체 메모리에.

실제로 '나는 내 재귀 방식으로하는 모든 새 개체를 기록 할,하지만 그들에게 분명히 참조 가능한 일이'모음 (예를 들어 ArrayList)을함으로써 시작 후, 의미 경우

중 하나 매개 변수를 재귀 적 메서드에 추가하면 새로 만든 모든 개체를이 컬렉션에 추가 할 수 있으며 완전히 반환하면 새로 만든 개체로 가득 차게됩니다. 그러나 그것이 충분히 구별되지 않는다면, 당신은 '이 물체를 구별 할 수있는 것이 무엇인지'물어야합니다. 객체가 무엇인지에 따라 달라질 것입니다 (재귀 적 메소드의 일부 매개 변수가 '이름'의 일부가되어야합니까? 다른 국가입니까? 아니면 무작위로 고유해야합니까?)

+0

맞아요.하지만 물어 보는 사람도 이전 객체에 액세스하려고합니다. – shiladitya

+0

@shiladitya : 어디에서 그런 요청을 찾을 수 있습니까? 질문? –

+0

내가 추측 한 것입니다. 그렇지 않으면 질문이 이해되지 않았습니다. – shiladitya

관련 문제