기본형과 참조형

존스노우·2024년 1월 17일
0

JAVA

목록 보기
4/5

기본형 (Privitive Type)

  • int , long ,double , boolean 처렴 변수에 사용할 값을 직접 넣을수 있는 데이터 타입

참조형 (Reference Type)

  • student , int[]. 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입
  • 쉽게 이야기해서 기본형 변수에는 직접 사용할 수 있는 값이 들어있지만 참조형 변수에는 위치(참조값)가 들어가 있다. 참조형 변수를 통해서 뭔가 하려면 결국 참조값을 통해 해당 위치로 이동해야 한다.

기본형 vs 참조형 - 기본

  • 기본형은숫자 10 , 20 과같이실제사용하는값을변수에담을수있다.그래서해당값을바로사용할수있다.

  • 참조형은 실제 사용하는 값을 변수에 담는 것이 아니다. 이름 그대로 실제 객체의 위치(참조, 주소)를 저장한다. 참 조형에는 객체와 배열이 있다.
    객체는 . (dot)을 통해서 메모리 상에 생성된 객체를 찾아가야 사용할 수 있다

  • 기본형은 들어있는 값을 그대로 계산에 사용할 수 있다.

    • 예) 더하고 빼고, 사용하고 등등, (숫자 같은 것들은 바로 계산할 수 있음)
    • int a = 10 , b = 20
    • a + b 가능
  • 참조형은 들어있는 참조값을 그대로 사용할 수 없다. 주소지만 가지고는 할 수 있는게 없다. 주소지에 가야
    실체가 있다!

    • 예) 더하고 빼고 사용하고 못함! 참조값만 가지고는 계산 할 수 있는 것이 없음!
    • student1 + student2 불가능

쉽게 이해하는 팁

  • 기본형을 제외한 나머지는 모두 참조형이다.
    • 기본형은 소문자로 시작한다. int , long , double , boolean 모두 소문자로 시작한다.
    • 기본형은 자바가 기본으로 제공하는 데이터 타입이다. 이러한 기본형은 개발자가 새로 정의할 수 없다. 개발 자는
  • 참조형인 클래스만 직접 정의할 수 있다.
    클래스는 대문자로 시작한다. Student 클래스는 모두 참조형이다.

기본형 vs 참조형 2

대원칙

  • 자바는 항상 변수의 값을 복사해서 대입한다.

  • 자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다.
    기본형, 참조형 모두 항상 변수에 있는 값을 복사해서 대입한다. 기본형이면 변수에 들어 있는 실제 사용하는 값을 복사 해서 대입하고, 참조형이면 변수에 들어 있는 참조값을 복사해서 대입한다.

 기본형 대입
 int a = 10;
 int b = a;
 
 // 참조값 대입
 Student s1 = new Student(); x001
 Student s2 = s1;
  • a는 복사해서 b에 대입
  • 기본형은 변수에 값을 대입하더라도 실제 사용하는 값이 변수에 바로 들어있기 때문에 해당 값만 복사해서 대입한다고 생각하면 쉽게 이해할 수 있다. 그런데 참조형의 경우 실제 사용하는 객체가 아니라 객체의 위치를 가리키는 참조값만 복사된다. 쉽게 이야기해서 실제 건물이 복사가 되는 것이 아니라 건물의 위치인 주소만 복사되는 것이다. 따라서 같은 건물을 찾아갈 수 있는 방법이 하나 늘어날 뿐이다.
profile
어제의 나보다 한걸음 더

0개의 댓글