-기본형(primitive type)은 데이터 타입이 많아질수록 일일이 설정해 주어야 하기 때문에 관리하기가 힘들다
그렇기에 데이터를 보관해줄 대상을 만들어주고 그 대상을 참조(reference) 하고 있어야 한다
기본형은 값이 바뀌어도 각자의 value를 관리하고 있기 때문에 값이 서로 다를 수 있지만
참조형은 값이 바뀌면 참조 값을 관리하고 있기 때문에 똑같이 값을 바꿔줘야한다.
call by value: 값에 의한 호출, 메소드 호출 시 사용되는 인자의 메모리에 저장되어 있는 값(value)를 보낸다
ex) int a= 3; 이라고 했을 때 주소를 받을 때 a라는 자체에 주소를 받는게 아니라 a의 값인 3을 받아 처리하는 방식
call by reference: 참조에 의한 호출, 메모리에 저장되어 있는 주소를 복사하여 보낸다 값이 아닌 그 자체에 주소 값
int [] a = new int [3]; -----> 3개의 공간 즉 인덱스를 가진 배열을 만들어줌
a.length ---->배열 a의 크기
return; --> if 에서 return 으로 끝을 내면 else를 굳이 안써줘도 됨
2차원 배열== 배열의 배열
int[] c = new int[2];
c[0] = new int[1];
c[1] = new int[5];
c라는 인덱스가 2개인 배열이 만들어 졌다고 가정하면 c[0]의 공간에는 1이라는 값과 c[1]의 공간에는 5라는 값이 있다.
즉, c[0].length는 1이 되고 c[1].length는 5의 크기를 갖게 된다.
== int[2][3]이라는 의미
bean-실행되지 않는 자바 파일, 현실세계 객체를 표현, 메인 메소드가 존재하지 않아 실행되지 않는다.
실행 하려면 어플리케이션 클래스가 필요하다. --->object modelling
new- 메모리 적재의 의미