Java
eclipse / 자바 Null, NullPointer
bokboks
2023. 3. 17. 23:53
안녕하세요
이전 포스팅에서 자바의 참조변수 와 데이터 타입에 대하여 알아보았는데요
이번엔 자바의 null, NullPointer 에 대하여 알아보겠습니다.
eclipse / 자바의 참조 변수 와 데이터 타입
안녕하세요 이전엔 자바에서의 반복문 중 하나인 while , do-while문을 알아보았는데요 이번 포스팅에서는 자바의 참조변수 와 데이터 타입에 대하여 알아보겠습니다. eclipse / while ,do while 문 안녕하
stackbok.tistory.com
package javaexp.a05_reference;
public class A02_NullPointer {
public static void main(String[] args) {
/*
#null
1. 변수가 참조하는 객체가 없는 경우 초기값으로 사용 가능
Stack [ ]
[ heap ]
[ ]
heap 영역에는 할당하지 않고,stack 영역에서 선언만 한 상태에서 객체를 초기화시키는
것을 말한다.
Person p = null;
cf)기본데이터 유형을 일반적으로 해당 유형에 맞게 초기화 시킨다.
int num01 = 0; double num02 = 0.0;
2. 참조 타입의 변수에만 저장가능하다.
3. null로 초기화된 참조 변수는 스택 영역 생성
*/
Friend f = null; //객체가 선언하고, heap영역에 생성되지 않음.
//객체의 초기화로 객체를 선언하지 않을 때, null로 선언한다.
System.out.println(f);//객체는 선언 되어있지만 heap 영역에 할당되지 않는 상황이라 null 표기
// System.out.println(f.name); NullPointerException
// NullPointerException : Pointer(주소값)이 Null(없는) Exception(에러/예외)
// 발생했습니다. -heap 영역에 객체가 생성되지 않는 상황에서
// 객체가 가지고 있는 구성요소를 호출할 때, 발생하는 예외..
f = new Friend();
//객체가 선언되고 객체를 생성하여 heap영역에 메모리를 할당할수 있다.
Friend f1 = new Friend();
System.out.println(f);
System.out.println(f.name);
System.out.println(f);
// System.out.println(f.name);
}
}
class Friend{
String name ="친구1";
}
결과값
- null
- javaexp.a05_reference.Friend@24d46ca6
- 친구1
- javaexp.a05_reference.Friend@24d46ca6
이상으로 null , nullpointer 에 대하여 알아보았습니다
감사합니다.