package myServerProject;
public class Server_message extends Thread {
private static String userIP;
@Override
public void run() {
...
}
//String userIP를받는 생성자.
public Server_message(String userIP) {
this.userIP = userIP;
}
static void serverRecv(String userIP) {
this.userIP = userIP; // 이부분이 컴파일에러가난다.
}
}
프로그램코드 짜다가 나온부분인데
static 메소드에선 this를 못쓴다고한다.
왜인지 찾기전에 눈에띄는 작용은두가지있었다.
static이 안붙는 생성자에선 this가 사용가능하므로, 뭔가 초기화작업을할때 생성자를 애용하란 말이 들어맞았다.
외부클래스에서 접근할수있는 static이 위험할 수 있으므로 미리 컴파일러가차단 시키는것일 수 도있다.
검색해서 정확한내용을 확인하려해봤는데 잘 안나온다. 아마 대부분 이런이유이지 않을까…