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("===================");
}
}
Variable3.java 실행 결과
[예제]
1. com.devgsp.study.basic 패키지에 MyVariable3 클래스를 생성하자. 2. 아래 변수들을 생성하자. intnum100 = 100; intnum800= 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));