문자와 문자열
char ch = 'A'; // 문자
char ch = 'AB'; // 에러 발생
String s = "ABC"; // 문자열
String은 자료형이 아니라 클래스이다. 따라서, 원칙적으로는 new 연산자를 사용하여
String str = new String("AB"); 라고 작성해야하지만, 문자열은 워낙 자주 사용하다 보니 자바에서
String str = "AB"; 라고 작성할 수 있도록 허용되었다.
String s1 = "AB"에서
참조변수 s1에는 문자열 "AB"의 주소가 저장된다.
그런데, 어떤 것들을 "문자열"이라고 할까? 아래를 살펴보자.
String s= "ABC"; // 연속된 여러문자
String s = "A"; // 하나의 문자.
String s = ""; // 빈 문자열
모두 문자열에 해당된다.(주의! char ch = '';와 같이 작은 따옴표로는 표현할 수 없다.)
String s = "A" + "B"; // 문자열을 이어붙인다. 따라서, 변수 s에 "AB"가 저된다.
이때, 숫자와 문자열의 결합을 살펴보면,
""(String) + 7(int) -> "" + "7" -> "7" // 숫자와 문자열의 결합시 숫자가 문자열로 변환된다.
숫자뿐만 아니라, 문자열과 어떤 type을 결합하면 그 type은 문자열이 되고, 결합 결과도 문자열이다.
(문자열 + 어떤 타입 = 문자열)
문자열의 결합시 순서가 존재한다. 즉, 왼쪽에서 오른쪽방향으로 결합이 되는 것.
1. "" + 7 + 7 -> "7" + 7 -> "7" + "7" -> "77"
2. 7 + 7 + "" -> 14+ "" -> "14" + "" -> "14"