쉽게 이해하기
Box a = new Box(); Box b = a;는 상자가 두 개 생긴 것이 아닙니다. 한 상자의 손잡이가 두 개입니다. b.value를 바꾸면 a로 읽어도 변경값이 보입니다. Box c = new Box();를 실행해야 별도의 상자가 생깁니다.
눈으로 따라가기
a → 상자1 ← b / c → 상자2
class Box { int value; Box(int n){value=n;} }
public class Main {
public static void main(String[] args) {
Box a = new Box(2);
Box b=a;
Box c = new Box(5);
b.value+=4;
System.out.print(a.value+" "+c.value);
}
}시험 함정
대입으로 객체 내용이 통째로 복사된다고 생각하지 않습니다.
함께 보는 관련 주제
비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.
즉시 문제 · 4개
정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.
즉시 3문제관련 문제 전체검증 근거
기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음