# 변수

## 식별자 (Identifier)

* 클래스 이름, 메소드(함수) 이름, 변수 등을 포괄하는 단어를 말합니다.
* 이름만으로 내용을 유추 할 수 있어야 함으로 식별자를 naming 하는 것은 중요합니다.

### 문자, 숫자 종류 사용여부

**파스칼,카멜케이스,멤버필드** 방식에 대해서 **사전이해가 필요**합니다.

자바에서 의 문자와 숫자를 조합하여 변수를 권장하는 규칙은 다음과 같습니다.

1. 클래스/인터페이스 이름(Class Name) 을 사용하는경우 >> 파스칼방식.
   * 첫자는 대문자가 아니라도 에러는 발생하지 않습니다.
   * 그러나 일반적으로 클래스 이름을 명명할때에는 첫자를 **대문자**로 사용합니다.
2. 메소드(**함수**) 이름은 / **멤버필드 또는 카멜 방식**을 선호합니다.
   * 첫자는 일반적으로 소문자로 시작합니다.
   * 메소드의 마디는 대문자를 이용합니다.
   * 예) println(),printName() 등의 방식으로 명명 할 수 있습니다.
3. 상수,패키지,GUI상에서의 화면 배치 네이밍.

   |       종류      |   방식   |
   | :-----------: | :----: |
   |       상수      | 모두 대문자 |
   |      패키지      | 모두 소문자 |
   | GUI버튼,텍스트,레이블 |  헝가리안  |
4. 변수 설명
   * Data를 보관하는 저장장소 입니다. 메모리의 한공간을 지정하는 것이라고 생각하면 편합니다.
   * int d = 200; 연산자를 중심으로 오른쪽의 데이타가 선언된 변수 왼쪽으로 할당이 됩니다.
   * java의 변수는 데이터 타입과 함께 선언됩니다.
   * 변수명의 규칙은 식별자 규칙과 같습니다.

## 자바의 데이터 기본타입 4가지

CPU와 메모리의 한계로 인해 메모리의 저장소를 데이터 타입별로 구분함으로써 메모리를 절약 할 수 있습니다.\
앞선 기본타입의 설정은 논리,문자,숫자로 구분이됩니다.

### 논리형

논리라고 하면 말이 여렵게 느낄수 있겠지만. '그렇다/아니다' 또는 '참/거짓' 으로 표현 할 수있습니다.

이해하기 쉽도록 예를들어 **간단한 설명**을 하겠습니다.\
우리가 네이버 홈페이지에 접속하면 컴퓨터는 로그인된 상황인지 아닌지 판단할 수 있습니다. 이때 우리가 로그인된 상태라면 'loginStatus = true' 라고 지정 해 줄 수 있습니다. 아닌경우에는 'false' 가 되겠죠. 이때 컴퓨터는 이러한 상태나 환경 및 조건에 따라 다르게 실행 할 수 있습니다.

이때 사용하는것이. boolean type (논리형 데이터 타입)을 사용합니다.

### 문자형

문자형은 말그대로 문자타입을 말하며 알파벳 또는 특수기호를 **'Character'** 라 칭하고 Char가 여러개 모여 **'String'** 이라고 표현합니다.

* 자바에서는 character 의 용량단위를 한 알파벳을 기준으로 **2 Byte(16 Bit)** 로 가집니다.
* 초기값 : \u0000
* 범위 : \u0000 \~ \uFFFF(Unicode 0\~65535)

### 숫자형

## 참조 타입 참조 데이터 타입 4가지

## 타입 변환
