가위바위보 애플리케이션을 시작하기 전에
이번 챕터의 마지막 데이터 종류를 알아야 하며 그건 바로 String(문자열)입니다
String(문자열)은 일련의 문자, 즉 단어나 문단들 같은
긴 문자 같은 것들을 저장할 수 있습니다
빠르게 살펴봅시다
공식 문서를 보면 val str이 보입니다
그리고 바로 무언가를 할당할 수 있습니다
String 내에는 어떤 Unicode 글자든 사용할 수 있습니다
Unicode 목록에서 본 어떤 것이든 Kotlin의 String 내 저장할 수 있습니다
여기서 이런 식으로 사용하고 있습니다
쉽게 말해서 String은 Character(문자)나 Char의 모음
같은 것입니다
그리고 그게 여기서 하려는 일입니다
그러니까 String의 요소는 문자이며 Index(인덱스) 연산자 〈i〉로 접근할 수 있습니다
자
그리고 이 문자들을 for 반복문으로 iterate(반복)할 수 있습니다
String을 설명할 때쯤엔 For 반복문이 무엇인지 알고 있을 거라고 간주합니다
하지만 보통 String을 배우기 전에 for 반복문이 무엇인지 모르기 때문에
이 공식 문서는 시작 가이드로써의 제약이 있습니다
비록 지난 강의들에서 꽤 사용했지만 말입니다
하지만 저는 개인적으로 이 설명들이 입문자들에게 적절하지 않다고 생각합니다
일단은 str, "abcd", uppercase를 살펴보겠습니다
그래도 예시들은 좋은 편이라고 생각합니다
그러면 새로운 변수를 생성해 보겠습니다
그리고 이름은 name(이름)으로 하겠습니다
그리고 이는 String을 담을 것입니다
String 데이터는 그저 큰 따옴표를 사용함으로 생성할 수 있습니다
이 큰 따옴표로 이 안에 데이터가 String이라는 것을 알려주는 것입니다
아직은 아무것도 없지만 말입니다
어쨌든 현재 name은 String입니다
빈 String입니다
아무것도 없지만 String 데이터 종류인 것입니다
이를 println()으로 테스트해 볼 수 있으며 그저 name을 출력해 보는 것입니다
그리고 출력해 보면 아무것도 쓰여 있지 않습니다
무언가를 출력하긴 한 것입니다
하지만 빈 내용을 출력한 것입니다
아무것도 없습니다
하지만 null은 아닙니다
그런 의미에서는 비어있다고 할 수는 없습니다
그럼에도 이것은 빈 String입니다
null이 무엇인지는 나중에 살펴볼 것입니다
그전에 미리 언급해둔 것입니다
여기 var name이 있습니다
그리고 여기에 Denis를 입력해 보겠습니다
그런 다음 재실행하면 제 이름이 출력됩니다
Denis가 출력되었습니다
이게 제 이름입니다
그리고 제가 var를 사용하고 있기 때문에 경고가 뜨고 있는데
값을 바꾸지 않을 것이라면 var 대신 val을 사용하라고 알려주는 것입니다
지금은 값이 변하지 않습니다
그래서 그렇게 간주하는 것입니다
하지만 만약 이후에 name을 Denis에서 Frank로 바꿔보면 경고가
사라집니다
이건 괜찮습니다
그리고 재실행시켜 보겠습니다
그러면 이제는 Frank를 출력합니다
이번에는 문단을 저장해 보도록 하겠습니다
"Very long paragraphs can be stored inside of strings." (String에는 아주 긴 문단도 저장할 수 있습니다)
자
재실행해 보겠습니다
그럼 그대로 문장이 출력되는 것이 보입니다
그렇다면 문장을 여러 번 복사해서 붙여 넣어보면 어떨까요?
그러면 긴 String이 될 것입니다
자 이것이 String의 개념이었습니다
이제 String에 특정 함수들을 사용할 수 있습니다
String은 object(객체)입니다
그리고 이전에 Kotlin 내 대부분의 것들이 객체처럼 다뤄진다고 언급했었습니다
객체가 무엇인지는 나중에 배워볼 것입니다
하지만 간단히 말해서 객체는 그들의 함수를 실행할 수 있도록 합니다
함수는 object(객체)와 method(메소드)의 조합입니다
이 내용은 함수를 배운 이후에 다룰 예정입니다
그전에 빠르게 설명해 드린 것입니다
그리고 여길 보시면 uppercase라는 것이 있을 것입니다
lowercase도 있습니다
lowercase부터 사용해 보겠습니다
좋습니다
이 lowercase를 사용하면 여기 있는 모든 것을 소문자로
출력합니다
이런 식으로 LONG을 대문자로 바꿔보겠습니다
그리고 재실행하여 확인해 봅시다
이러한 결과가 출력됩니다
대문자를 사용하는 대신 전부 소문자로 출력되었습니다
uppercase도 같은 맥락으로 사용됩니다
재실행해 보겠습니다
이번에는 String 내 모든 문자를 대문자로 표시합니다
이는 그저 Kotlin 내에서 이러한 함수들을 사용해
String을 쉽게 변형시킬 수 있다는 것을 알려드리기 위함이었습니다
이 uppercase는 실행될 수 있다는 함수라는 점에서 println()과 같은 것이고
main 함수와도 같으며 전부 실행될 수 있는 함수들입니다
그리고 이 uppercase 함수는 String에 실행되는 것입니다
그렇게 String을 변형시키는 것입니다
이것이 하나의 예시였습니다
이것을 마음대로 다뤄보셔도 됩니다
여기에 .을 붙힌 다음
plus 함수 같은 여러 것들을 추가할 수 있습니다
여기에 사용할 수 있는 것들이 아주 많지만 지금은 그저 기본적인 개념만 알려드리는 것입니다
이제 해볼 것은 String을 concatenate(결합)하는 것입니다
이제 name은 Denis로 다뤄집니다
그러면 "(띄어쓰기) Panjuta"를 추가해 보겠습니다
그러면 이것은 name 뒤에 Panjuta를 추가해 줄 것입니다
따라서 이것을 재실행 해보면
Very LONG paragraphs can be stored inside of strings 뒤에
Panjuta가 있습니다
죄송합니다 이 줄을 깜빡했습니다
이참에 복습해 봅시다
이전의 강의에서 주석 처리하는 방법을 배웠습니다
어떤 특별한 문자를 사용하면 그 이후에 오는 내용은
Android 스튜디오 컴파일러에게 적용되지 않는 이중 빗금(슬래시) 기호였습니다
자 그러면 회색 처리되었습니다
그러면 이 코드는 더 이상 코드의 일부가 아니게 되는 것입니다
그저 주석 처리된 문자입니다
이제 다시 애플리케이션을 재실행하면 Denis Panjuta라고 출력됩니다
원하는 결과입니다
Denis Panjuta입니다
이제 더 이상 name 변수를 재할당하지 않기 때문입니다
그래서 바로 Denis인 것입니다
그리고 + 기호로 또 다른 String인 "Panjuta"를 추가했습니다
이 변수의 이름을 firstName(이름)으로 바꾸고
lastName(성)이라는 또 다른 변수를 생성해 보겠습니다
그리고 이는 Panjuta입니다
그러면 이제 여기서 firstName 더하기
lastName을 사용할 수 있으며 이것으로
하지만 이어져 있을 것입니다
보시다시피 띄어쓰기 없이 DenisPanjuta를 출력합니다
그러므로 이 사이에 공백을 넣고 싶다면 이런 식으로 추가할 수 있습니다
이것이 공백을 제공합니다
그리고 재실행하면 Denis Panjuta가 출력됩니다
자
여기까지 String을 사용한 간단한 예시들이었습니다
그리고 String으로 할 수 있는 것은 훨씬 더 많습니다
그리고 우리가 본 특별한 문자들 중 /n가 있었는데 이는 새로운 줄을 생성합니다
이대로 재실행하면
Denis Panjuta를 출력하고
여기 공백도 포함되어 있습니다
/n은 줄바꿈을 만들고 그 다음에 오는 내용은
다음 줄에 표시하도록 합니다
이것이 /b의 역할이었습니다
아주 잠시지만 /t도 본 적 있는데 이것은
보시다시피 탭 입력 칸을 생성합니다
이것이 /t의 역할이었습니다
좋습니다
이것은 단순히 문자열이 무엇인지 조금 더 세밀하게 이해하기 위함이었습니다
그리고 큰 따옴표를 사용하면 내부적으로 이는 String으로 다뤄집니다
좋습니다
이번 영상은 여기까지입니다
다음 영상에서는 드디어 우리의
가위바위보 애플리케이션을 시작할 것이지만 아직 완성할 수는 없습니다
중요한 두 가지 내용을 그전에 다뤄야 하기 때문입니다
그러지 말고 그것들을 먼저 다루는 것이 좋겠습니다
그래야 할 것 같습니다
좋습니다
그럼 다음 영상에서 뵙겠습니다
if문을 살펴 볼 예정입니다