본문 바로가기
Android Studio/Android Studio

4. Android Studio, Kotlin - 변수 출력, 문자열 템플릿 및 배열 선언

by Rosmary 2020. 7. 3.
728x90
반응형

1. Kotlin에서의 변수 출력 - println(), print() 함수

 

대부분의 프로그래밍 언어는 자료의 출력에 println() 함수를 사용한다. 이 println() 함수는 print 후 개행(line)하라는 의미로, println() 함수를 사용하여 문자열이나 기타 변수를 출력하면 자동으로 개행이 된다. 

 

println() 함수 외에 print() 함수도 존재하는데, 뒤에 ln이 빠져있으므로 이 함수는 자동 개행은 진행해주지 않는 함수임을 알 수 있다. 이들은 Kotlin Scratch 화면에서는 개행된 것처럼 나오는데, 자세히 보면 print() 함수로 출력된 결과 뒤에는 뭔가 모를 이상한 것들이 덕지덕지 붙어있는 것을 볼 수 있다. 이 코드를 실제 안드로이드 휴대폰에서 돌려보면, 출력물이 개행되는지의 여부를 확인할 수 있지 않을까 싶다(아직 필자도 해보지 않은 부분이라...)

 

 

 

2. 문자열의 Formatting 및 연산

 

 

문자열 내에 변수 값을 넣고 싶을 때는 어떻게 해야할까? Python에서는이를 Formatting이라는 기능으로 해결했는데, Kotlin은 Formatting보다 조금 더 간편한 템플릿이라는 기능을 제공한다. 사용 방법은 매우 간단하다.

 

단순히 달러 표시($) 및 중괄호 안에 변수명만 넣어주면 자동으로 변수값이 문자열에 포함되는 것을 확인할 수 있다. 

 

두 문자열을 연산하여 출력하는 것도 Kotlin에서는 당연히(?) 제공한다. 다음과 같이 두 문자열을 변수로 선언하고 하나의 println() 함수 내에 두 변수를 +로 연산하여 출력하면 다음과 같이 나온다.

 

물론, Escape 문자도 적용된다.

 

문자열들 뿐만 아니라, Java 및 Python처럼 변수와 문자열도 연산으로 출력하는 것도 가능하다. 

 

 

프로그래밍을 어느정도 접해보신 분들이라면 크게 어려운 내용은 아니다.

 

 

 

3. 배열

 

이번 포스팅에서 마지막으로 알아볼 내용은 배열이라는 녀석이다. 이 배열의 존재 이유는, 여러 변수값을 하나의 이름으로 저장하기 위함이다.

 

예를 들어보자. 동호회 회원의 이름만 따로 저장하려 하는데, 다음과 같이 변수 하나 하나에 회원 이름을 일일이 지정하면 관리해야 할 변수가 너무 많이 늘어나버리게 된다.

 

어쩌다 보니 골드문 식구들 이름이 들어가있...(우리 식구 중에 짜바리가 하나 숨어있더라고!)

이 모든 회원(?) 이름을 하나의 변수명으로 관리하기 위해 사용하는 것이 배열이다. 배열의 선언은 아래와 같이 진행한다. 

 

마치 변수를 Array라는 자료형으로 지정해주는 것이라고 보면 된다. 대신 Array 지정 시, arrayOf라는 함수(메서드)가 반드시 사용되어야 한다.

 

혹은 arrayOf 앞에 자료형을 명시하여 배열을 선언해도 된다. 

 

단 이 방법은 String 자료형으로 배열을 만들 시, 사용할 수 없다.

 

 

변수/상수와 마찬가지로 자료형의 생략도 가능하다.

 

배열도 변수와 마찬가지로, 값을 변화시킬수 있는, 혹은 값을 변화시킬수 없는 배열로 선언하는 것이 가능하다. 

 

같은 자료형끼리만 같은 배열에 소속되도록 할 수 있기 때문에, 다음과 같이 여러 자료형이 혼용된 혼종 배열은 존재할 수 없다. 혹시라도 자료형이 혼용된 값이 하나의 배열로 선언이 안되는 것이 이해가 안된다면 여기를 참고하자.

 

 

**  추가

 

여러 자료형이 배열의 값으로 들어가도록 만들기 위해서는, 배열 선언 시, 자료형을 명시하는 부분 - Array<자료형> -  을 삭제해주면 된다. 아래의 화면을 참고하자.

 

 

 

 

이렇게 생성된 배열의 출력은 매우 간단하다. 배열 내의 값들은 순차적으로 0번부터 번호가 부여되는데, 우리가 위에서 만든 배열을 예로 들면, name 0번은 "정청", name 1번은 "이자성"... 이런 식으로 나가는 것이다.

 

 

Kotlin 에서의 배열은 특이하게도, 배열의 크기를 벗어나는 범위마저도 에러 없이 출력이 가능하다. Python에서는 배열과 유사한 리스트를 사용하여 동일한 코드를 작성하면 다음과 같이 에러가 나타난다.

 

리스트의 크기(4)를 뒤어넘는 값(name[4])이 들어가는 바람에 에러가 발생한 Python 코드

 

 

만약, 특정 목적으로 배열을 만들고는 싶은데, 그 안의 내용이 정해지지 않은 상태라면, 다음과 같이 배열의 크기 및 기본값을 명시하여 배열을 선언할 수도 있다. 

 

Array 뒤에 <자료형>을 생략해도 된다. 자동으로 기본값의 자료형이 배열에 사용된다고 인지하기 때문이다.

 


 

지금까지 문자열의 출력 방법 및 배열 선언/출력 방법에 대해 알아보았다. 그런데 배열의 값들을 일일이 println(), print() 함수로 출력하기에는 너무나 시간이 아깝다. 배열값을 처음부터 끝까지 출력할 수 있도록 만들어주는 문법은 for와 while, 즉 루프와 관련된 문법이 있는데, 이들의 사용법에 대해 다음 포스팅에서 알아볼 예정이다. 

 

 

 

Fin.

 

 

 

반응형

댓글