[kr-dev] 변수(Variable)란? - Java(2)
kr·@code91·
0.000 HBD[kr-dev] 변수(Variable)란? - Java(2)
# 변수(Variable)란? 변수란 하나의 값을 저장할 수 있는 메모리상의 기억 공간(영역)으로 **‘값을 담을 수 있는 그릇’**에 비유되기도 합니다. 우리는 왜 변수를 사용해야 할까요? 예를 들어보겠습니다. A라는 상자에는 사과가 30개 들어있습니다. B라는 상자에는 배가 30개 들어있습니다. 사전정보가 없는 제3자가 상자만 보고 이 둘의 차이가 무엇인지 알 수 있을까요? 상자만봐서는 안에 들어있는 상품이 무엇인지 수량은 얼마나 들어있는지 모를것입니다. 따라서 효과적으로 상자 내부의 상품을 관리하기 위해서 상자에 '사과' '배'와 같은 라벨을 붙여주며, 추가로 상자에 들어있는 상품의 개수 등을 표시하게 되겠죠. 데이터도 마찬가지입니다. 우리는 메모리 공간에 어떠한 수치를 부여하고 수치에 의미있는 이름을 붙여주어 **실용적이고 효율적인 프로그래밍**이 가능하도록 만드는 것이죠.  # 변수(Variable)의 타입 (기본형) 변수는 **Primitive Type(기본형)**과 **Reference Type(참조형)**으로 구분할 수 있습니다. 1. 기본형의 특징 - 1.1 기본형은 영어 소문자로 시작한다는 특징이 있다. - 1.2 논리형 – true와 false중 하나를 값으로 가지며, 조건식과 논리적 계산에 사용된다. - 1.3 문자형 – 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다. - 1.4 정수형 – 정수 값을 저장하는데 사용된다. 주로 사용되는 것은 int와 long형이며, byte는 이진데이터를 다루는데 사용되고, short는 c언어와의 호환을 위해 추가되었다. 또한, 자바의 default 정수타입은 int이다. - 1.5 실수형 – 실수 값을 저장하는데 사용된다. Float와 double이 있다. 자바의 default 실수 타입은 double이다 # 변수(Variable)의 타입 (참조형) 기본형을 제외한 나머지로 String, System 등이 존재하며 시작을 영어 대문자로 한다는 것이 특징입니다. 참조형에는 실제의 데이터 값이 아닌 객체의 주소를 저장합니다. 이 단계에서 참조형은 다루지 않고 뒤에 나올 객체파트에서 다루도록 하겠습니다. # 변수의 명명규칙 1. 대소문자가 구분되며(aa, Aa, AA, aA는 다른 변수이다.) 2. 길이에는 제한이 없다. 3. 영문자와 숫자를 섞어 쓸 수 있다. (ex. Name12) 그러나 숫자가 먼저 나올 수는 없다. (ex. 12name(x)) 4. 한글, 한자도 변수명으로 사용가능하다. 그러나 일반적으로 영문으로 작성하는 것을 관례로한다.  5. 변수명은 보통 소문자로 시작한다. (관례) 6. 특수문자는 변수명으로 사용할 수 없다. 그러나 $, _ 는 변수명으로 사용이 가능하다. 7. 단어와 단어의 결합은 뒤에 오는 단어를 대문자로 시작한다. (Camel Case)  # 변수의 선언과 초기화 변수의 선언 [타입] [변수명] [;] 변수의 초기화 [변수명] [=] [값] [;]  변수의 선언만 하게 될 경우 메모리상에 Garbage Value가 저장됩니다. 이클립스 상에서는 에러가 나지 않으나, 초기화가 되어있지 않은 변수를 이용하거나 출력하기 위해 변수명을 사용할 경우 컴파일 에러가 발생합니다. 따라서 변수를 사용하기 위해서는 꼭 초기화를 해주어야 합니다. # 변수의 형변환  아래는 형변환의 예시입니다. 