개발 지식/Java

[Java] 변수(1) - 변수 선언 & 초기화

devGSP 2022. 7. 6. 08:00
반응형
이 게시물은 아래 버전을 기준으로 작성되었습니다.

Java : 11.0.15.1
OS : Windows 10 Pro
IDE : Eclipse IDE for Enterprise Java and Web Developers - 2022-06

 

변수 선언 & 초기화

 

변수의 개념

 

변수(variable)란 변할 가능성이 조금이라도 있는 특정 값을 저장하는 메모리(RAM : Random Access Memory) 공간이다. 필요에 따라 값을 변경할 수 있으며, 값의 종류(자료형)에 따라 차지하는 메모리 공간이 달라진다.

 

 

변수의 선언과 초기화

 

변수 선언

 

변수의 선언 문법은 아래와 같다.

 

[자료형] [변수의 이름];

 

자료형은 변수에 저장될 값이 어떤 종류(type)인지 정하는 것이다. 자바의 자료형에는 정수형, 실수형, 문자형 등이 있는데 이는 추후 정리해서 다루도록 하겠다.

변수의 이름은 해당 변수의 이름을 정하는 것이다. 메모리 공간에 이름을 정하면 그 이름을 이용해서 값을 저장하거나 값을 불러올 수 있다. 이렇듯 이름을 통해서 값을 정하고 불러온다고 전제한다면, 변수의 이름은 서로 구별되어야 하기에 중복되어선 안 된다.

자료형에 대해서는 추후 자세히 다루겠지만, 먼저 int라는 정수(integer)형 자료형 중 하나인 자료형으로 변수를 선언해 보겠다. 나이(age)를 변수로 저장하고 싶다고 가정하고, 변수의 이름을 age로 명명하면 아래와 같다.

 

int age;

 

이제 변수 age를 사용하기 위한 선언을 마쳤다. 다음은 이 변수에 값을 저장해 보자. 

 

 

변수 초기화

 

초기화(initialization)란 변수를 사용하기 전에 처음 값을 저장하는 것이다. 변수를 초기화할 때는 아래와 같이 대입 연산자 '='를 사용한다.

 

age = 32;

 

'=' 연산자는 수학에서 좌변과 우변이 같다는 의미로 사용하지만, 자바에서는 변수에 값을 대입(저장)하라는 의미가 된다.

설명의 편의상 선언과 초기화를 나누어 설명하였지만, 사실 아래와 같이 선언과 동시에 초기화를 하는 것도 가능하다.

 

int age = 32;
int width = 80;
int height = 50;

 

또한 변수 여러 개의 선언, 선언과 동시에 초기화는 같은 자료형일 경우 쉼표(,)를 사용하여 한 줄에 하는 것도 가능하다.

 

int age, width, height;
int age2 = 32, width2 = 80, height2 = 50;

 

 

변수를 활용해 출력 프로그램 만들어 보기

 

이제 변수의 값을 출력해 보는 프로그램을 작성해 볼 차례다. Variable1 클래스를 생성하여 아래 코드를 작성해 보자. 주석에 추가적인 설명을 첨부하니 반드시 읽어 보자.

 

package com.devgsp.study.basic;

public class Variable1 {
	public static void main(String[] args) {
		// 예시1
		int age;	// 정수형 변수 age를 선언
		age = 32;	// 정수형 변수 age를 32로 초기화
		
		System.out.println("나");
		System.out.println(age);
		System.out.println("살이에요 OK?");
		System.out.println(age);
		System.out.println("살이면 여자친구 있어야죠...");
		System.out.println("====================");
		
		// 예시2.
		// 덧셈 연산자 '+'를 통해 두 값을 더할 수 있으며, 문자열과 문자열을 결합하거나 문자열과 숫자를 결합할 수도 있다.
		int num = 100;			// 정수형 변수 num를 선언과 동시에 100으로 초기화.
		int num2 = 200;			// 정수형 변수 num2를 선언과 동시에 100으로 초기화.
		int num3 = num + num2;	// 정수형 변수 num3를 선언과 동시에 num + num2의 값으로 초기화.
		
		System.out.println("num : " + num);
		System.out.println("num2 : " + num2);
		System.out.println("num3 : " + num3);
		System.out.println("====================");
		
		// 이를 활용하여 위에서 변수 age를 출력한 프로그램을 아래와 같이 정리할 수도 있다.
		System.out.println("나 " + age + "살이에요 OK?");
		System.out.println(age + "살이면 여자친구 있어야죠...");
		System.out.println("====================");
		
		// 예시3.
		int width, height;				// 정수형 변수 width와 height를 선언
		int width2 = 80, height2 = 50;	// 정수형 변수 width2와 height2를 선언과 동시에 값을 초기화
		// width = 90, height = 60; (X)
		// 이미 선언을 한 변수를 동시에 초기화를 하는 것은 불가능하다.
		width = 90;
		height = 60;
		
		System.out.println("이 상자의 너비는 " + width + "mm, 높이는 " + height + "mm입니다.");
		System.out.println("다른 상자의 너비는 " + width2 + "mm, 높이는 " + height2 + "mm입니다.");
	}
}

 

var1_1
Variable1.java 실행 결과

 

 

다음 포스트에서는 int 외의 여러 자료형을 알아보도록 하자.

 

 

[예제]

1. com.devgsp.study.basic 패키지에 MyVariable1 클래스를 생성하자.
2. int형 변수 score를 선언하고 70으로 초기화한 뒤 변수를 활용해 "내 점수 : 70"과 같이 출력되는 로직을 작성해 보자.
3. 2번을 완료한 뒤, 변수 score100으로 초기화한 뒤 변수를 활용해 "니 점수 : 100"과 같이 출력되는 로직을 작성해 보자. 단, 초기화 시 100이라는 값을 직접 작성하여 초기화하지 않고, 기존 score 변수에 30을 더하는 방식으로 초기화해 보자.

 

더보기
package com.devgsp.study.basic;

public class MyVariable1 {
	public static void main(String[] args) {
		int score = 70;	// int형 변수 score 선언 후 70으로 초기화
		System.out.println("내 점수 : " + score);
		score = score + 30;	// score를 score + 30의 값으로 재초기화
		System.out.println("니 점수 : " + score);
	}
}

 

var1_2

 

 

 

반응형