자바의 데이터 타입에는 크게 기본 타입(Primitive Type) , 참조 타입(Reference type)으로 분류된다.
출처: 이것이 자바다
[기본 타입 변수]
int a1 = 20; // 기본형은 하나의 값만 저장할 수 있다.
double a2 = 100.0;
// 기본 타입 변수 - 실제 값을 변수 안에 저장
[참조 타입 변수]
String name = "JAVA" // 참조형은 여러 개의 메모리를 가지고 생성된다. ("."을 이용해서 확인 가능)
String class = "READ"
// 참조 타입 변수 -주소를 통해 객체 참조
참조 타입을 알기 전에 JVM(자바 가상머신)이 사용하는 메모리 영역 [OS에서 할당받은 메모리 영역]에 대해서 알아보겠습니다.
메서드(Method) 영역
JVM 시작할 때 생성
로딩 된 클래스 바이트 코드 내용을 분석 후 저장
모든 스레드가 공유
JVM 스택(Stack) 영역
null(널)
변수가 참조하는 객체가 없을 경우 초깃값으로 사용 가능
참조 타입의 변수에만 저장 가능
null로 초기화된 참조 변수는 스택 영역 생성
NullPointerException
Strin 변수; // 자바는 문자열을 String 변수에 저장하기 때문에 String 변수를 우선 선언해야 한다.
변수 = "문자열"; // String 변수에 문자열을 저장하려면 큰 따옴표로 감싼 문자열 리터럴을 대입하면 된다.
String 변수 = "문자열"; // 변수 선언과 동시에 문자열을 저장할 수도 있다.|
String name;
name = "Java";
String hobby = "자바";
// 두 개의 String 변수를 선언하고 문자열을 저장한다.
같은 타입의 데이터를 연속된 공간에 저장하는 자료구조이다.
각 데이터 저장 위치는 인덱스를 부여해서 접근할 수 있다.
위 쪽 배열 생성을 값 목록 배열 "타입 [] 이름 = {};"을 이용해서 간편하면서 짧게 작성할 수 있다.
여러 가지 타입을 이용해서 출력이 가능하며, 쉼표를 기준으로 배열 목록을 생성할 수 있다.
값의 목록을 가지고 있지 않을 때
향후 값들을 저장할 배열을 미리 생성하고 싶을 경우
int [] arr = new int [] ← 괄호 안에는 배열 값의 개수를 적어준다.
new 새로운 메모리 구조를 만들 때 사용하며, 배열. 참조형에 사용된다.
배열에 저장할 수 있는 전체 항목 수
배열은 주어진 타입의 크기의 값까지 출력 가능하다.
아래와 같이 length를 이용해서 배열 길이의 값을 출력할 수 있다.
public static void main(String[] args){...}
main() 메소드의 매개 값인 String[] args가 왜 필요한지를 알 수 있는 목차이다.
처음에는 args 에는 아무런 값이 없는 상태이므로 호출 시, 오류가 발생한 것이다.
(x) Arguments - Program arguments 입력을 통해 값을 얻는다.
입력 값 은 띄어쓰기에 의해서 메모리 배열값이 생선된다.
args는 0:hello / 1::world / 2:java 배열을 가지고 있다.
원하는 위치에 배열을 입력하고, 값을 출력할 수 있다.
자바에서 빠질 수 없는 참조 타입 - 데이터 타입, 참조 변수, 배열, 클래스
과정들을 통해서 익히는 배움의 즐거움을 알아가게 되었을때,
그때야 비로소 마음에 평화가 찾아오는 거 같아요.