상세 컨텐츠

본문 제목

[Java] 변수 (Variable) 1️⃣

Backend/Java

by hyeminyy 2023. 11. 15. 00:07

본문

728x90

java의 정석을 보고 공부했습니다!

변수 (Variable)

중요한 프로그래밍 능력 중 하나가 바로 값을 잘 다루는 것이다.

 

변수란 ?

  - 값을 저장할 수 있는 메모리상의 공간

  : 저장된 값은 변경될 수 있기 때문에 '변수'라는 수학용어의 정의와 상통하는 면이 있어서 변수라 한다.

  - 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간

  : 변수에 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다.

 

 

변수의 선언과 초기화

int age; //age라는 이름의 변수를 선언

  - 변수 타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다.

  - 저장하고자 하는 값의 종류에 맞게 변수의 타입을 선택해서 적어주면 된다.

 

변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 맞게 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있게 된다.

 

  - 변수를 선언한 이후에는 변수를 사용할 수 있으나, 그 전에 반드시 변수를 초기화해야한다.

  : 메모리는 여러 프로그램이 공유하는 자원으로 다른 프로그램에 의해 저장된 알 수없는 값이 남을 수 있기 때문에 초기화 시켜주는 것이 좋다.

 

변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것

int age = 25; //변수 age를 선언하고 25로 초기화

 

 

 

변수의 명명규칙

  - 프로그래밍에서 사용하는 모든 이름을 식별자라고 하며, 식별자는 같은 영역 내에서 서로 구분 될 수 있어야한다.

* 규칙 *
1. 대소문자가 구분되며 길이에 제한이 없다.
2. 예약어를 사용해서는 안 된다. 
  - true는 예약어라서 사용 X, True는 O
3. 숫자로 시작해서는 안 된다.
4. 특수문자는 '_' , '$'만 허용된다. 

 

int, long, boolean, float, double, case, if, while, switch, true, false, this, import 등등이 있다.

자세한 내용은 아래 참고 자료를 보도록 !

http://wiki.hash.kr/index.php/%EC%9E%90%EB%B0%94_%EC%98%88%EC%95%BD%EC%96%B4

 

자바 예약어 - 해시넷

자바 예약어란 프로그래밍 언어인 자바(Java)에서 미리 정해둔 명령어를 말한다. 자바 예약어는 자바에 등록되어 있어 의미가 약속되어있는 명령어를 뜻한다. 프로그래밍에 있어 불필요한 시행

wiki.hash.kr

 

변수의 타입

주로 사용하는 값의 종류는 크게 문자와 숫자로 나눌 수 있고, 숫자는 정수와 실수로 나눌 수 있다.

값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형이다.

 

정수형 : byte(1 byte), short(2 byte), int(4 byte), long(8 byte)

실수형 : float(4 byte), double(8 byte)

문자형 : char(2 byte)

논리형 : boolean(1 byte)

 

기본형과 참조형

기본형 변수는 실제 값을 저장 , 참조형 변수는 어떤 값이 저장되어 있는 주소 값을 갖는다.

기본형 
  - 논리형(boolean), 문자형(char), 정수형(byte,short,int,long), 실수형(float, double)
참조형
  - 객체의 주소를 저장
  - 기본형을 제외한 나머지 타입

 

참조형 변수를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스 이름이 참조변수의 타입이 된다.

그래서 새로운 클래스를 작성한다는 것은 새로운 참조형을 추가하는 셈이다.

클래스이름 변수이름;
ex) Math math = new Math(); //Math객체를 생성해서, 그 주소를 math에 저장

 참조변수 math를 통해서 생성된 객체를 사용할 수 있다.

 

상수와 리터럴

상수는 변수와 마찬가지로 값을 저장할 수 있는 공간이지만, 변수와 달리 한 번 값을 저장하면 다른 값으로 변경할 수 없다.

final double PI = 3.14;

 

상수는 선언과 동시에 선언해야 한다.

 

리터럴

  - 그 자체로 값을 의미하는 것 

  - 상수의 다른 이름

 

필요한 이유 ?

  - 값을 계산할 때 여러 곳을 수정할 필요 없이 상수의 초기화만 다른 값으로 해주면 되기 때문이다.

final int WIDTH = 10; //폭
final int HEIGHT = 20; //높이

int triangleArea = (WIDTH * HEIGHT) / 2; //삼각형 면적
int rectangleArea = (WIDTH * HEIGHT; //사각형 면적

 

 

 

728x90

'Backend > Java' 카테고리의 다른 글

[Java] 조건문과 반복문 1️⃣  (1) 2023.11.19
[Java] 변수 (Variable) 2️⃣  (0) 2023.11.16
[Java] JDBC 사용법  (0) 2023.11.13
[Java] 메모리 구조  (0) 2023.11.13
[Java] UML 다이어그램 3️⃣ - 연관, 집합, 합성  (0) 2023.11.07

관련글 더보기