🔍 내가 배운 내용 요약


  1. 자바의 참조 자료형이란 무엇인지, 기본형과의 차이를 이해

  2. String, 배열(Array), 클래스(Class), 인터페이스, 컬렉션(Collection)

    다양한 참조 자료형의 예시를 학습

  3. 참조형 변수는 **객체의 주소(참조 값)**를 저장한다는 점에 주목


📚 내가 배운 내용


기본형 vs 참조형 차이

구분 기본형(Primitive) 참조형(Reference)
저장 값 실제 데이터 객체의 메모리 주소(참조값)
예시 int, double, char, boolean String, int[], Scanner, 사용자 정의 클래스
메모리 스택(stack)에 저장 힙(heap)에 저장되고, 스택엔 참조값만 저장됨
null 가능 여부 불가 참조형은 null 값을 가질 수 있음

주요 참조 자료형 종류

자료형 설명 예시
String 문자열을 표현하는 클래스 String name = "Java";
배열(Array) 같은 타입의 값 여러 개를 저장 int[] arr = {1, 2, 3};
클래스(Class) 사용자 정의 타입 Person p = new Person();
인터페이스(Interface) 클래스가 구현해야 할 메서드 정의 Runnable r = new MyThread();
열거형(Enum) 고정된 상수 집합을 정의 enum Day { MON, TUE, ... }
컬렉션(Collection) List, Set, Map 등 자료 구조 List<String> list = new ArrayList<>();

String은 특이한 참조형

Java

String a = "hello";
String b = "hello";

System.out.println(a == b); // true (같은 리터럴이면 주소 공유)

String c = new String("hello");

System.out.println(a == c); // false (new로 생성하면 새 주소)
System.out.println(a.equals(c)); // true (값은 같음)