자바의 변수 데이터타입은 크게 2가지 :
1.기본형(사용하는 값을 직접 넣음, 소문자로 시작 ) --> int , long, double, boolean
2.참조형(객체가 저장된 메모리 위치 가르키는 참조값 저장,Reference Type) --> Student 사용자 정의 클래스, String
- 객체 : . (dot) 을 통해 메모리상에 객체에 접근
- 배열 : [ ] 를통해서 메모리상에 생성된 배열 찾아서 사용 가능
참조형은 연산 불가능
객체에 접근하여 멤버변수로 연산 사용 --> int sum = s1.grade + s2.grade
String의 경우 참조형이지만 기본형처럼 사용가능하게끔 연산처리 기능, 문자값 바로 대입 기능을 자바에서 지원
자바의 대원칙 : "자바는 항상 변수의 값을 복사해서 대입한다."
--> 매서드 호출시에 전달하는 파라미터도 마찬가지,
변수와 초기화
변수
- 멤버 변수(필드): 클래스에 선언 / 인스턴스 생성시 자동 초기화
- 지역 변수: 메소드에 선언, 매개변수도 지역변수에 한 종류 / 직접 초기화 / 해당 지역(메소드,범위)가 지나가면 사라진다.
Null
참조형 변수의 빈 값
GC
- 인스턴스중에 아무도 참조하지 않는 것들을 GC가 메모리에서 제거 해준다. (이게 없으면 메모리가 점점 커져 결국 메모리 부족오류 발생)
덕분에 참조 되었다가 참조에 사용되지 않아 메모리 망망대해에 떠도는 쓰레기값들을 JVM의 가비지컬렉터가 판단하여 자동으로 제거 ( 과거 C언어는 개발자가 직접 명령어로 메모리에서 인스턴스 제거 명령어 사용 )
지역변수(파라미터값 등) 이 사용되고 난 후 지워진다.
NullPointerException
주소가 없는 곳을 찾아갈때 발생
참조형 인스턴스의 접근할때 . (dot)을 사용하는데 보통 이 인스턴스의 주소가 없는 경우 발생하는 경우 많음
예외 발생시 그 뒤에 코드 실행 안되고 바로 예외 코드로 빠져버림.
'JAVA' 카테고리의 다른 글
김영한 자바강의 6강 - 접근 제어 (0) | 2024.06.18 |
---|---|
김영한 자바강의 5강 - 패키지 import (0) | 2024.03.12 |
김영한 자바 강의 1강 - 클래스와 데이터 (3) | 2024.01.09 |
JAVA 기본 환경 세팅 (0) | 2023.03.01 |
[Java] String Immutable (0) | 2021.08.25 |
최근댓글