Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.ArrayList.add(Object)" because "mc.memberList" is null
at main.AddressMain.main(AddressMain.java:20)
실행 시켰을 때, 오류 뜨는 이유는?
=> mc가 힙메모리를 Pointer 할 때 Pointer 할 값이 null이기(비어있기) 때문이다.
=> memberlist에 저장된 힙 메모리가 없기 때문이다.
=> "홍길동", "010-2222-3333"이 stack 영역에서 member의 생성자로는 생성이 되었지만,
힙 메모리에 저장되는 memberlist 영역에는 값이 제대로 저장되지 않았다.
= new ArrayList<>(); 를 해야 객체 (인스턴스) 가 생긴다.
모르겠다면, 아래 포스팅을 참고하자
https://codebunny99.tistory.com/123
자바의 메모리(Memory) 영역 개념
1. 메소드 영역(Method Area) (= 데이터 영역) - 메소드 영역은 클래스 정보(클래스 이름, 메소드, 변수)와 같은 런타임 상수 풀을 포함하고 있는 메모리 영역이다.- Static 영역이라고도 하며 전역변
codebunny99.tistory.com
내용을 추가하고, 실행시켜보면
추가한 내용이 잘 반영되었다.
'Java' 카테고리의 다른 글
자바) 이메일 형식 체크하는 라이브러리 : Patterns (0) | 2024.06.13 |
---|---|
자바(Java) try-catch-finally 구문 학습하기 (0) | 2024.06.04 |
자바(Java)의 "HashMap" 딕셔너리와 비슷한 데이터 스트럭쳐 (0) | 2024.06.04 |
자바(Java)의 ArrayList 라이브러리 사용하기 (0) | 2024.06.03 |
자바의 문자열(String) 데이터 가공하기 (0) | 2024.06.03 |