본문 바로가기

프로그래밍 언어/코틀린_쌩초보를 위한 기초

쌩초보를 위한 기초_01_메인함수

코딩 '코'자도 모르지만 코틀린을 배워가는 과정과 모르는 부분을 공부해 가며 학습하는 내용을 기록한다.

 

Kotlin 코틀린?

 

Kotlin(코틀린)이 프로그램을 짤 때 사용하는 언어라는 건 알았다.

그외 코틀린에 관한 기본 정보를 요약하면 다음과 같다.

 

  • 코틀린을 만든 회사는 JetBrains(젯브레인즈)이다. 제트두뇌?
  • JetBrains는 또 다른 언어인 Java(자바) 프로그램을 편리하게 만들 수 있는 IntelliJ(인텔리 제이)라는 IDEA(통합 개발 환경)을 만들었다.
  • 구글의 안드로이드 스튜디오는 IntelliJ를 기반으로 만들어졌다.
  • JetBrains Java언어의 불편한 점을 수정하고 개선된 Kotlin을 만들었다.
  • 구글은 그 점을 인정해서인지 안드로이드 스튜디오의 공식 언어로 Kotlin을 선정했다.

설레는 첫만남

 

코틀린을 배우기 위해서는 IDEA(통합 개발 환경)를 설치해서 학습하면 좋지만

온라인으로도 간단히 실행할 수 있는 사이트를 제공하고 있다고 해서

여기서는 일단 이 사이트를 이용하기로 한다.

 

무작정 가보자.

구글창에 play.kotlinlang.org 를 입력하면 바로 아래와 같은 창이 뜰것이다.

만약 검색 결과가 뜨면 아래 내용과 같은 곳을 클릭하면 된다.

이곳은 코틀린 공식 홈페이지에 있는 사이트이며 온라인으로 코틀린을 실행해 볼 수 있는 곳이다.

 

첫화면

시작하면 위와 같이 기본 코드가 입력되어 있다.

일단 오른쪽 위 실행(Run)을 클릭해 보자.

결과를 보고 추리해 보면 이 코드는 Hello Kotlin!!! 이라는 글자를 화면에 출력해 주는 것임을 알 수 있다.

다른 글자로 바꿔도 출력된다. 이왕이면 한글로 적고 실행해 보자.

 

이제 하나씩 알아보자.

제일 윗쪽에 작성되어 있는 녹색 글자들은 'comment (주석)'이라고 한다.

 

위에 있는 주석의 내용은

이 코드를 편집, 실행, 공유할 수 있다.”

그리고 이 사이트의 주소가 적혀있다.

 

주석은 코드를 작성할 때 '메모'를 할 수 있는 기능이다.

주석에 작성한 내용은 코드 실행에 영향을 미치지 않는다.

그러므로 언제든지 고치거나 삭제할 수 있다.

 

주석을 적는 방법은 2가지이다.

한 줄만 적을때는 // 처럼 슬래시 키를 두번 눌러서 사용한다.

여러줄을 적어야 할때는 위 기본 주석처럼  /* 로 시작해서 마지막에 */를 적는다.

중간줄 앞에 있는 *(별표)는 자동으로 입력된다.

 

다음과 같은 주석을 달수도 있다.

 

이런 주석은 코드를 기술하거나 개인적인 추가 설명 또는 잡담 등에 응용할 수 있다.

 

 

Main Function (메인함수)

주석 아래의 코드가 실제 실행할 수 있는 코드다.

전체 형태가 어떻게 되어 있는지 잘 보자.

코딩할 때는 나름대로 규칙에 맞게 코드를 작성해야 한다고 한다.

규칙은 다음에 정리하기로 한다.

 

일단 적힌 코드가 무엇을 말하는지 하나씩 살펴본다.

 

fun은 함수(function)의 준말이다.

코틀린에서 함수를 만들 때는 fun으로 시작한다.

 

함수는 비유하자면 '자판기'다.

핵심은 넣으면 나온다는 원리다.

 

오늘날 프로그래밍의 추세는 객체지향 프로그래밍에서 함수형 프로그래밍으로 바뀌고 있다고 한다.

코틀린은 객체지향 뿐만 아니라 함수형 프로그래밍도 지원한다고 한다.

그래서 fun을 사용한 것인지도 모르겠다.

 

함수형 프로그래밍의 핵심은 입력한 값이 같으면 출력한 값도 언제나 같은 프로그램을 추구한다는 것이다.

하지만 실제로 프로그래밍을 해보면 넣은대로 나오지 않는다고 한다.

 

main은 함수의 이름이다.

프로그래밍 언어는 출발점 또는 시작코드가 있는데 이것을 메인함수(main function)라고 한다.

main주된, 가장 중요한이라는 말이므로 핵심이 되는 함수이다.

코틀린에서는 fun main이 시작 코드가 된다.

 

함수이름 다음에 괄호를 만든다.

그래서 “main( )” 처럼 함수이름에 괄호가 붙어 있으면 함수라고 알면 된다.

이렇게 fun main( )을 만드는 것을 declaration(선언)이라고 한다.

 

괄호 안은 매개변수(parameter; 파라미터, 원래 발음은 퍼래미터)를 넣는 곳이다.

매개변수는 함수 안에 놓는(전달하는) 값이다.

예를 들어 함수를 자판기라고 하면 매개변수는 100(동전)이라고 보면 된다.

매개변수가 없으면 비워두거나 생략해도 된다.

 

이렇게 전달하는 값은 숫자, 글자 등 여러 종류가 있다.

이런 데이터(data)들을 전달인자(argument)라고 한다.

그러므로 매개변수도 전달인자 중 한 종류이다.

매개변수에 대해서는 다음에 자세히 살펴본다.

 

중괄호{ } 안에는 함수가 실행하는 부분을 코딩한다.

 

println은 문자열을 출력하는 함수이다.

 

이 함수는 코틀린내에 이미 만들어져 내장되어 있기 때문에 내장함수라고 한다.

코드를 직접 입력하여 글자 하나를 화면에 나타나게 하는 작업은 너무 복잡하고 어려운 일이기 때문에 꼭 필요하고 자주 사용하는 함수를 미리 만들어둔것이다.

그래서 우리는 자판기 안에서 어떤 원리를 거쳐 제품이 나오는지 몰라도 그것과 상관없이 사용법만 알면 되듯 함수도 사용법을 익혀서 사용하면 된다.

println함수를 사용할 때는 괄호 안에 따옴표로 출력할 문자열을 감싸면 된다.

 

참고:

코틀린 코드는 일반적으로 package(패키지)안에 정의해야 한다.

예를 들면 아래와 같이 코드 제일 위에 package를 정의한다.

 

package org.kotlinlang.play

 

package는 비유하자면 자판기 상표이다.

일반적으로 상품의 상표에는 종류, 만든 회사 이름 등이 적혀있다.

package도 프로젝트라는 상품에서 상표와 같은 역할을 한다고 볼 수 있다.

만약 만들지 않으면 기본적으로 만들어져 있는 default(디폴트, 기본) 패키지로 실행한다.

package에 대해서는 따로 설명하기로 한다.

 

그리고 자바와 같은 객체지향 언어는 프로그램을 실행할 때 최소한 한 개의 Class(클래스)라는 것과 그 안에 main() 함수가 있어야 한다.

여기서는 클래스가 없는데도 함수가 실행될 수 있는 이유는 코틀린 코드가 JVM(자바 가상 기기)로 실행될 때 자바 클래스가 자동으로 만들어지기 때문이다.

 

끝.