클래스변수 선언시 null을 주는것과 안주는것의 차이가 궁금합니다.
아래와 같이.. 클래스변수로 활용하고자 클래스 범위에서 선언을 하면서
null값으로 초기화 해준 후 사용하는것과
2번과 같이 null 값으로 초기화하지 않고 그냥 선언하는것의 차이가 궁금합니다.
아래와 같이 선언 후
1. private ConnectivityManager mgr = null;
2. private ConnectivityManager mgr;
아래와 같이 메서드안에서 객체생성할때 차이점이 있는지요??
지금껏 그냥 null로 초기화하고 써왔는데 알고 넘어가고 싶어서 이렇게 글 남깁니다.
onCreate(.....){
mgr = (ConectivityManager)getSystemService(CONNECTIVITY_SERVICE);
}
code convention 에서는 많은 차이가 있습니다.
가독성과 디버깅에 우수한 코드를 위해서는 null 을 명시적으로 표시하는게 좋습니다.
일반적으로
private ConnectivityManager mgr; 와 같이 사용을 해도 컴파일러는 자동으로
private ConnectivityManager mgr = null; 를 해서 사용합니다.
컴파일러가 자동으로 해준다 해도 mgr = null; 를 표시하면 여러 모로 좋은 이익이 발생됩니다.
타이밍상 mgr를 또 사용하게 된다면 명시적으로 nullpoionterexption 이 발생되기 때문이죠..
유지보수 측면에서 볼때 의미론적으로 더욱 이해하기 편한 코드가 되기 때문에 가독성이 우수하게 됩니다.




차이 없습니다.
http://www.j2eeonline.com/java2-programmers-certification/module2/automatic-initialization.jsp