자바 문법과 관계된 질문입니다 ;;

 

로그인 관련 기능때문인데요..

 

public static String login(String id, String pw){
     String sessionID = "";
  
    new Thread(){
        public void run(){
        sessionID = requestToServerForResult("로그인 주소");
   }
  }.start();
  
  return sessionID;
 }

 

 

이렇게 함수내에서 서버로 로그인 정보를 보내고 세션값을 리턴받고 그 값을 함수결과로 리턴하려고 하는데요..

sessionID = requestToServerForResult("로그인 주소");
이 부분이 안됩니다..

 

sessionID가 final 이어야 한다는데..

final String sessionID; 로 만들면 또 final이라 수정을 할수없다는 문법 오류가 생기구요..

 

어떤식으로 해야 할런지요 ;;;;

 

그리고 쓰레드 내에서 외부 변수를 참조하려면 항상 final 이어야 한다고 에러가 뜨는데요..

왜그런거죠??