홈 › 초급 › 01 / 8

변수, 데이터 타입, 형변환

섹션 7진행 0 / 8

변수와 타입

데이터를 담는 그릇인 변수를 선언하고, 8가지 원시 타입과 참조 타입이 메모리에서 어떻게 다르게 저장되는지 이해합니다. 이 레슨을 끝내면 형변환에서 값이 왜 사라지는지, 오버플로우가 왜 일어나는지 설명할 수 있습니다.

1. 왜 배우는가

프로그램은 결국 데이터를 저장하고 가공하는 일입니다. 주문 수량, 회원 이름, 잔액, 로그인 여부. 이 모든 것을 어딘가에 담아야 하고, 그 "어딘가"가 변수입니다. 변수를 모르면 한 줄도 쓸 수 없습니다.

그런데 자바에서 변수는 단순한 이름표가 아닙니다. 자바는 정적 타입 언어(statically typed language, 변수의 종류를 컴파일 시점에 확정하는 언어)라서 변수를 만들 때 "이 변수에는 정수만 들어간다", "이 변수에는 문자열만 들어간다"를 선언해야 합니다. 이 제약이 처음엔 번거롭지만, 실무에서는 오히려 큰 무기입니다.

수만 줄짜리 코드에서 "잔액 변수에 문자열이 들어갔다" 같은 버그를 실행하기도 전에 컴파일러가 잡아 주기 때문입니다.

특히 금융, 결제 도메인에서는 타입 선택 하나가 사고로 직결됩니다. 잔액을 int로 두면 21억을 넘는 순간 음수가 되고, 금액을 double로 계산하면 0.1 + 0.2 != 0.3이라는 유명한 오차가 생깁니다. 이 레슨은 그런 사고를 막는 원리를 다룹니다.