String 자료형

String : 문자열 자료형

  • 0~다수의 문자들로 구성

  • 쌍따옴표로 둘러쌈

  • 이제까지 배운 자료형들과 달리 참조 자료형

    • 그러나 특별히 원시값과 유사하게 사용될 수 있음

package sec03.chap05;

public class Ex01 {
    public static void main(String[] args) {
        //  리터럴 방식
        String str1 = "Hello World!";
        String str2 = "안녕하세요 😆 반갑습니다~ 🖐️🖐️🖐️";

        // 빈 문자열 가능
        String str3 = "";

        //  인스턴스 생성 방식
        String str4 = new String("나중에 자세히 배웁니다.");
    }
}

  • 클래스의 인스턴스

    • 일단, 단순 값 뿐 아니라 특정 기능들을 가진 무언가로 이해할 것

    • 객체지향 섹션에서 상세히 다룸

  • 리터럴로 생성시: String constant pool 이란 곳에 중복 없이 저장됨

    • 같은 문자열이 적힌 리터럴 변수들은 같은 것을 가리킴

  • 객체 인스턴트로 생성 시 : 매 번 새로 생성되어 각각 자리를 차지

타 자료형간 변환

이스케이프 표 escape sequence

이스케이프 표현
대체

\"

큰따옴표

\’

작은따옴표

\n

줄바꿈

\t

\\

백슬래시 하나

문자열 메소드

문자열은 불변 immutable

  • 문자열 스스로를 변경하는 메소드는 없음 - ”문자열 고쳐 쓰는 거 아니다”

    • 새 문자열 또는 다른 값을 반환

    • ⚠️ 문자열 변수에 다른 값을 넣을 수 없다는 뜻이 아님

⭐️ 반환값과 인자의 자료형 등을 살펴볼 것

문자열 길이 반환

빈 문자열 여부

문자 반환

문자(열)의 위치 반환

값 동일 여부 확인

포함 여부 확인 / 정규표현식 일치 여부 확인

문자열 비교

대소문자 변환

- 유저는 개발자가 상상하지도 못했던 오류들을 만들어낸다.

이어붙이기

  • + 연산 : 다중 연산시 메모리 절약

    • ⚠️ 반복 연산 (이후 배울 for 루프 등) 에는 무의미

    • 반복 연산시에는 명시적으로 StringBuilder... append 사용

  • 성능이 중요하다면 이후 배울 StringBuilder, StringBuffer 등 사용

    • 그렇지 않을 시 상황에 따라 메서드 체이닝 등의 편의를 위해 concat 사용

반복하기 / 자르기

치환

배열 반환

Last updated