이부분에서 왜 NullPointerException 이 발생할까요?

 

우선 클래스는 쓰레드를 상속받는 클래스입니다.

 

전역변수로

 

public PrintWriter streamOut = null; 이 선언되어있구요.

 

클래스의 run() 안에

 

public void run()

{

  try

  {

    streamOut = new PrintWriter(connectSocket.getoutputStream(), true); // connectSocket 역시 선언되어있습니다. 넘어가겟씁니다.

  }

  catch(...)

  {

      .....

  }

}

 

private void send(String sendData) throws IOException

{

  streamOut.println(sendData);

  streamOut.flush();

}

 

이렇게 선언되어 있습니다.

 

그리고 다른 클래스에서 위의 클래스를 생성하고 start() 한 후에 send(....) 하였습니다.

 

문제는 send() 메소드 내의 streamOut 부분인데요. 널포인터 익셉션이 발생하네요... 왜그런걸까요?

 

혹시 start() 하자마자 send() 메소드가 발생하여 아직 초기화되지 않은 streamOut 을 사용하려고 해서 그런가요......