4.6 문자열 타입 (String)

프로그래밍에서 가장 많이 사용하는 데이터 중 하나인 문자열(String)에 대해 알아봅니다.


1. 문자열이란? (Text) 🧵

1) 개념

문자열은 문자(char)들의 나열입니다. 작은따옴표가 아닌 큰따옴표(" ")로 감싸야 합니다.

2) 비유: “구슬 목걸이”

  • char가 구슬 하나라면, String은 구슬을 실에 꿰어 만든 목걸이입니다.
  • 구슬(char)이 하나도 없어도 실만 있으면 목걸이(String)가 될 수 있습니다. (빈 문자열 가능)

3) 구조 시각화

graph LR
    String["String 'HELLO'"] --> H((H))
    String --> E((E))
    String --> L1((L))
    String --> L2((L))
    String --> O((O))
    
    style String fill:#f9f,stroke:#333
    style H fill:#fff,stroke:#333
    style E fill:#fff,stroke:#333
    style L1 fill:#fff,stroke:#333
    style L2 fill:#fff,stroke:#333
    style O fill:#fff,stroke:#333

2. String은 특별하다 (참조 타입) 🌟

1) 기본 타입이 아님

int, double, boolean 등은 소문자로 시작하는 기본 타입(Primitive Type)이지만, String은 대문자로 시작하는 클래스(Class)이자 참조 타입(Reference Type)입니다.

2) 메모리 저장 방식

  • 기본 타입: 상자 안에 값(데이터)이 직접 들어있습니다.
  • 참조 타입(String): 상자 안에 진짜 데이터가 있는 주소(번지수)가 들어있습니다. (보물지도 같은 개념)
graph LR
    Var[변수 name] -->|가리킴| Heap[객체 '홍길동']
    style Var fill:#bef,stroke:#333
    style Heap fill:#fdb,stroke:#333

3. 이스케이프 문자 (Escape Character) 🏃‍♂️

문자열 안에 쌍따옴표(")를 넣거나 줄 바꿈을 하고 싶을 때, 역슬래시(\)를 사용하여 특별한 신호를 보냅니다.

기호 설명 예시 출력 결과
\" 큰따옴표 출력 "\"안녕\"" "안녕"
\' 작은따옴표 출력 '\'A\'' 'A'
\n 줄 바꿈 (New Line) "안녕\n하세요" 안녕
하세요
\t 탭 (Tab) "이름\t나이" 이름    나이
\\ 역슬래시 출력 "C:\\Poler" C:\Folder

코드 예시

public class EscapeExample {
    public static void main(String[] args) {
        System.out.println("우리는 \"개발자\" 입니다."); 
        System.out.println("봄\t여름\t가을\t겨울");
        System.out.println("안녕\n반가워");
    }
}
서브목차