String 클래스 : 문자열을 저장하기 위한 클래스
String 객체에 저장된 문자열에 대한 다양한 기능을 메소드로 제공
String 객체는 문자열을 내부적으로 Byte 배열로 처리하여 배열 요소에 문자를 하나씩 저장
문자열을 " " 기호를 사용하여 표현하면 자동으로 메모리의 메소드 영역에 String 객체를 생성하여 String 객체에 문자열 저장
=> 메모리의 메소드 영역에는 동일한 문자열이 저장된 String 객체를 생성 불가능
=> " " 기호로 String 객체를 표현할 경우 동일란 문자열의 String 객체는 생성하지 않고 기존에 생성된 String 객체를 재사용
new 연산자로 생성자를 호출하여 String 객체를 생성하면 메모리의 힙역역에 새로운 String 객체를 생성
String.toString() : String 객체에 저장된 문자열을 반환하는 메소드
=> 참조변수를 출력할 경우 자동으로 toString() 메소드 호출
String.equals(String str) : String 객체에 저장된 문자열과 매개변수를 전달받은 문자열을 비교하여 다른 경우 [false], 같은 경우 [true]를 반환
=> 비교 문자열이 영문자인 경우 대소문자를 구분하여 비교
String.equalsIgnoreCase(String str) : String 객체에 저장된 문자열과 매개변수를 전달받은 문자열을 비교하여 다른 경우 [false], 같은 경우 [true]를 반환
=> 비교 문자열이 영문자인 경우 대소문자를 구분하지 않고 비교
String.compareTo(String str) : String 객체에 저장된 문자열과 매개변수로 전달받은 문자열을 비교하여 String 객체의 문자열이 큰 경우 양수, 작은 경우 음수, 같은 경우 0 반환
String.getBytes : String 객체에 저장된 문자열을 byte 배열로 변환하여 반환하는 메소드
=> byte 배열의 요소에는 문자열을 구성하는 문자들이 코드값(정수값)으로 차례대로 저장
String.length() : String 객체에 저장된 문자열의 문자 개수를 반환하는 메소드
String.charAt(int index) : String 객체에 저장된 문자열에서 index 위치의 문자를 반환하는 메소드
String.indexOf(String str) : String 객체에 저장된 문자열에서 매개변수로 전달받은 문자열을 검색하여 시작 위치값(첨자)를 반환하는 메소드
=> 매개변수로 전달받은 문자열을 찾을 수 없는 경우 -1 반환
String.toUpperCase() - String 객체에 저장된 문자열을 모두 대문자로 변환하여 반환하는 메소드
String.toLowerCase() - String 객체에 저장된 문자열을 모두 소문자로 변환하여 반환하는 메소드
String.trim() - String 객체에 저장된 문자열에서 앞과 뒤에 존재하는 모든 공백을 제거하여 반환하는 메소드
String.replace(String regEx, String replacement) - String 객체에 저장된 문자열에서 검색 문자열을 찾아 치환 문자열로 변경하여 반환하는 메소드
String.split(String regEx) - String 객체에 저장된 문자열을 매개변수로 전달받은 문자열로 구분 분리하여 문자열 배열로 반환하는 메소드
=> 정규표현식에서 사용되는 메타문자를 일반문자로 변환하여 사용하기 위해 '\\'를 사용하여 회피문자로 처리하여 표현
String.substring(int beginIndex, int endIndex) - String 객체에 저장된 문자열에서 시작첨자(문자 포함)에서 종료첨자(문자 미포함)까지의 문자열을 분리하여 반환하는 메소드
String.valueOf(Object obj) - 매개변수로 전달된 모든 자료형의 값을 문자열로 변환하여 반환하는 메소드