Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 두 문자열을 연결해 새로운 문자열을 만드는 3가지 방법

Java에서 문자열(String)은 여러 문자를 순서대로 저장하는 데 사용되며, 하나의 객체로 취급됩니다. java.lang 패키지에 포함된 String 클래스가 이러한 문자열을 표현합니다.

문자열은 다른 객체와 마찬가지로 new 키워드를 사용해 생성하거나, 기본 자료형처럼 리터럴 값을 직접 할당하는 방식으로 만들 수 있습니다.

String stringObject = new String("Hello how are you");
String stringLiteral = "Welcome to Tutorialspoint";

문자열 연결(Concatenation)이란?

두 개의 문자열을 하나로 합쳐 새로운 문자열을 만드는 작업을 문자열 연결이라고 합니다. Java에서 문자열을 연결하는 대표적인 방법은 다음 세 가지입니다.

1. "+" 연산자 사용하기

Java는 문자열 전용 연결 연산자인 "+"를 제공합니다. 이 연산자를 사용하면 두 문자열을 간단하게 더해 하나의 문자열로 만들 수 있습니다.

예제 코드

import java.util.Scanner;
public class StringExample {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("첫 번째 문자열을 입력하세요: ");
        String str1 = sc.next();
        System.out.println("두 번째 문자열을 입력하세요: ");
        String str2 = sc.next();
        // 두 문자열을 연결
        String result = str1 + str2;
        System.out.println(result);
    }
}

실행 결과

첫 번째 문자열을 입력하세요:
Krishna
두 번째 문자열을 입력하세요:
Kasyap
KrishnaKasyap

2. concat() 메서드 사용하기

String 클래스의 concat() 메서드는 인수로 전달받은 문자열을 현재 문자열 뒤에 붙인 후, 연결된 새로운 문자열을 반환합니다.

예제 코드

import java.util.Scanner;
public class StringExample {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("첫 번째 문자열을 입력하세요: ");
        String str1 = sc.next();
        System.out.println("두 번째 문자열을 입력하세요: ");
        String str2 = sc.next();
        // 두 문자열을 연결
        String result = str1.concat(str2);
        System.out.println(result);
    }
}

실행 결과

첫 번째 문자열을 입력하세요:
Krishna
두 번째 문자열을 입력하세요:
Kasyap
KrishnaKasyap

3. StringBuffer 및 StringBuilder 클래스 사용하기

StringBuffer와 StringBuilder는 문자열 내용을 수정해야 할 때 String 대신 사용할 수 있는 클래스입니다. 이들은 String과 유사하지만 변경 가능(mutable)하다는 점이 다르며, 내용을 조작할 수 있는 다양한 메서드를 제공합니다. 그중 append() 메서드는 인수로 받은 문자열을 현재 StringBuilder 객체에 추가합니다.

예제 코드

import java.util.Scanner;
public class StringExample {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("첫 번째 문자열을 입력하세요: ");
        String str1 = sc.next();
        System.out.println("두 번째 문자열을 입력하세요: ");
        String str2 = sc.next();
        StringBuilder sb = new StringBuilder(str1);
        // 두 문자열을 연결
        sb.append(str2);
        System.out.println(sb);
    }
}

실행 결과

첫 번째 문자열을 입력하세요:
Krishna
두 번째 문자열을 입력하세요:
Kasyap
KrishnaKasyap

마무리

간단한 문자열 연결에는 "+" 연산자나 concat() 메서드가 적합합니다. 반면 반복문 안에서 문자열을 여러 번 이어 붙이는 등 성능이 중요한 상황에서는 단일 스레드 환경에서는 StringBuilder, 멀티 스레드 환경에서는 StringBuffer를 사용하는 것이 좋습니다.