private boolean isRed(Node x) {
if(x == null) return false;
return x.color == true;
}
이런식으로 작성후
if(isRed(x.right) && !isRed(x.left)) x = rotateLeft(x);
이렇게 바꾼다면 저 nullpointer가 안뜨는데
if(x.right.color == true && x.left.color == false) x = rotateLeft(x);
이것과 무슨차인가요
NullPointerException는 초기화가 제대로 안되있을 경우나 객체가 제대로 생성되지 않았을경우 뜬다는데 이건 어떤 경운가요
그리고
if(x.right.color == true && x.left.color == false) x = rotateLeft(x);
이대로 사용하고 싶다면 코드의 어느 부분을 수정해야하나요?
질문
1. 메소드 사용한 것과 안한것 두가지 경우의 차이점
2. NullPointerException 오류가 뜬 이유
3. 메소드 없이 오류 해결법