link: http://mwultong.blogspot.com/2006/10/java-nan-infinity.html
Java에서 sqrt(-1)을 하면 어떤 값이 return될까?
컴파일 에러가 나지 않을까 싶었으나 생각지도 못하게 NaN이 return되었다.
이건 또 뭔가 -_-
exception에 대해서 String으로 출력을 해주나 싶었는데
알고보니 double type의 정의된 value더라.
NaN = Not A Number 란 의미.
한가지 또 이해안되는 점은
if(sqrt(-1) == Double.NaN) 이라고 condition을 따져주면 안되더라.
if(Double.isNaN(sqrt(-1)) 이라고 Method를 써서 해야만 한다더군.
아마도 내 생각에는 Double.NaN 이라는 것이 attribute라서
(단지 access일 뿐이지만) 직접적인 접근을 피하려고 private으로 선언했고
그에 대한 접근을 위해 Double.isNaN()이라는 public method를 정의하지 않았나싶다.
댓글 없음:
댓글 쓰기