개발 지식/Java

[Java] 변수(3) - 참조형 변수와 String

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

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

 

참조형 변수와 String

 

참조형 변수

 

실제 값을 저장하는 기본형 변수와 다르게, 참조형 변수는 값이 저장된 객체의 주소를 저장한다. 참조형 변수를 선언할 때 사용하는 변수의 타입은 클래스의 이름을 사용한다. 참조형 변수는 null 또는 객체의 주소를 값으로 가지며, 초기화를 할 때는 객체를 생성하는 연산자 new를 사용한다.

클래스에 관해서는 추후 포스트에서 더 자세하게 설명할 것이니 지금은 이런 것이 있다는 것만 알고 넘어가자.

 

[클래스명] [변수명]; - 참조형 변수의 선언 문법

[클래스명] [변수명] = new [클래스명]([파라미터]); - 참조형 변수의 선언 및 초기화 문법

 

// 참조형 변수 선언 및 초기화 예시
String strTemp;
Date dateTemp;
UserVo emptyUserVo;

String hello = new String("Hello, world!");
Date today = new Date();
UserVo userVo = new UserVO();
emptyUserVo = null;

 

문자열 클래스 String

 

위 예시에서 String이라는 클래스를 보았다. String은 자바에서 가장 많이 사용하는 클래스로 문자열을 표현하는 데 사용된다. 예시에서는 String 타입의 참조형 변수를 초기화할 때 위와 같이 연산자 new를 사용했지만, String 클래스는 특별히 아래와 같이 기본형 변수처럼 초기화가 가능하다.

 

String hello = "Hello, world!";

 

문자형 변수였던 char를 생각해 보면, 하나의 문자만을 저장 가능하고 출력을 하는 데에도 여러 변수를 연산하여 사용할 때 유니코드 전환 때문에 출력을 하기가 번거로웠다. String은 하나의 문자가 아닌 여러 문자(즉, 문자열)를 저장할 수 있으며, char와 다르게 빈 문자열도 저장이 가능하다. 또 char는 작은따옴표로 저장할 값을 감싸지만 String은 큰따옴표로 저장할 값을 감싸는 것도 차이점 중 하나다.

 

아래 예시를 보자.

 

package com.devgsp.study.basic;

public class Variable3 {
	public static void main(String[] args) {
		// 가장 처음 만들었던 프로그램의 문자열을 침조형 변수 초기화 문법으로 초기화
		String hello = new String("Hello, world!");
		
		System.out.println(hello);
		System.out.println("===================");
		
		// String은 클래스지만 기본형 변수를 초기화하는 방법으로도 초기화가 가능함 
		String emptyStr = "";	// 빈 문자열로도 초기화가 가능
		
		// 또한 문자열을 더하는 것도 가능하다
		String hello1 = "Hello, ";
		String hello2 = "world!";
		String helloAgain = hello1 + hello2;
		System.out.println(helloAgain);
		System.out.println("===================");
	}
}

var3_1
Variable3.java 실행 결과

 

 

 

[예제]

1. com.devgsp.study.basic
패키지에 MyVariable3 클래스를 생성하자.
2. 아래 변수들을 생성하자.
int num100 = 100;
int num800 = 800;
String str100 = "100";
String str200 = "200";

3. 아래 출력 코드를 작성하고 뒤에 예상하는 결과를 주석으로 달아 보자.
System.out.println(num100 + str100 + num800);
System.out.println(num800 + num100 + str200);
System.out.println((num100 + num800) + (str100 + str200));

4. 실행 결과를 확인하자

 

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

public class MyVariable3 {
	public static void main(String[] args) {
		int num100 = 100;
		int num800 = 800;
		String str100 = "100";
		String str200 = "200";
		
		System.out.println(num100 + str100 + num800);	// 예상하는 결과 : 100100800
		System.out.println(num800 + num100 + str200);	// 예상하는 결과 : 900200
		System.out.println((num100 + num800) + (str100 + str200));	// 예상하는 결과 : 900100200
	}
}

 

var3_2
MyVariable3.java 실행 결과

 

 

 

반응형

'개발 지식 > Java' 카테고리의 다른 글

[Java] 명명 규칙  (0) 2022.07.12
[Java] 변수(4) - 상수  (0) 2022.07.11
[Java] 변수(2) - 자료형과 기본형 변수  (0) 2022.07.08
[Java] 변수(1) - 변수 선언 & 초기화  (0) 2022.07.06
[Java] 주석 작성하기  (0) 2022.07.05