Error

[Error][JAVA] java switch 에서 다른 case 에 같은이름의 변수 사용

오선지♬ 2024. 4. 25. 19:13
728x90
반응형

Java의 switch 문에서는 각 case 블록 내에서 동일한 이름의 변수를 사용할 수 있습니다.

하지만 Java의 스코프 규칙에 따라, 변수는 그 범위 내에서만 유효합니다.

다시 말해, switch 문 내의 각 case는 서로 다른 블록으로 취급되며,

각각의 블록 내에서 변수 이름이 중복되어도 서로 영향을 미치지 않습니다. 각 case 블록은 독립적인 스코프를 가지고

있기 때문에 변수 이름이 중복되어도 서로 간섭하지 않습니다.

 

근데 오류가 나서 다시검색.

문제를 해결하기 위해, 두 개의 case 블록에서 각각의 변수를 사용해야 합니다. 즉, 각 case 블록 내에서 reqCrUpdateDTO 변수를 다른 이름으로 변경해야 합니다. 예를 들어, 첫 번째 case 블록에서는 reqCrUpdateDTO1, 두 번째 case 블록에서는 reqCrUpdateDTO2와 같은 식으로 변수 이름을 변경할 수 있습니다.

 

실제로 각 case 블록은 자체적인 스코프를 가지고 있기 때문에 변수 이름이 중복되어도 서로 간섭하지 않습니다. 하지만 여러 case 블록에서 같은 이름의 변수를 선언하는 것은 Java에서 문법적으로 허용되지 않습니다. 이는 변수의 선언이 해당 스코프 내에서 유효하기 때문입니다.

따라서 같은 스코프 내에서 변수 이름이 중복되면 컴파일 오류가 발생합니다. 위의 코드에서는 두 개의 case 블록에서 모두 reqCrUpdateDTO라는 같은 이름의 변수를 사용하고 있기 때문에 컴파일 오류가 발생할 것입니다.

 
 
 
 
 
 
 

 

728x90
반응형