[Kotlin] 코틀린 프로젝트 시작하기[Kotlin] 코틀린 프로젝트 시작하기

Posted at 2020. 4. 27. 00:12 | Posted in Kotlin




■ 코틀린 프로젝트 시작하기




#01. 코틀린의 main( ) 함수는 프로그램의 실행 진입점




자바 같은 객체 지향 언어에서 프로그램을 실행하려면 최소한 하나의 클래스와 그 안에 main( ) 함구가 있어야 한다.


하지만 코틀린은 선언한 클래스가 없는데도 불구하고 main( )함수와 println( ) 함수를 통해 콘솔에 문자열 "Hello Kotlin"을 출력하고 있다.



코틀린 코드는 JVM에서 실행되며, main( ) 함수가 있는 파일 이름을 기준으로 자바 클래스가 자동 생성된다.



# 소스코드

 helloKotlin.kt

fun main(args:Array<String>) {


println("Hello Kotlin!");

}



위 코드를 저장하고 역컴파일 하면 아래와 같은 결과를 얻을 수 있다.



# 역컴파일


    public final class HelloKotlinKt {


        public static final void main( ) {


            String var0 = "Hello Kotlin!";

            System.out.println( var0 );

        }


        // $FF : synthetic method

        public static void main(String[] var0) {

            main( );

        }

    }





Eclipse 역컴파일 결과


※ 컴파일러 버전에 따라 결과가 다르게 보일 수 있다.






#02. 변환된 main( ) 메서드의 의미



public은 가시성 지시자로 이 메서드의 접근 방법을 가리킨다.


public은 helloKotlinKt 클래스의 외부 어디에서도 접근할 수 있다는 의미이다.


static은 이 메서드 정적 메서드임을 나타내고 있다.


static으로 선언하면 프로그램의 정적 메모리 영역에 객체가 만들어지기 때문에 객체의 생성 없이 호출해 사용할 수 있게  된다.


final은 최종 메서드임을 나타낸다.


void는 메서드가 반환할 것이 없는 경우 지정한다.








#03. 코틀린의 main( ) 메서드에서 매개변수를 사용할 경우



main( ) 메서드에서 매개변수 args : Array<string>을 사용하면 자바에서는 String[] args로 변환된다.


이 args는 main( )에 전달할 외부의 인자들을 가리키고, 명령행에서 입력받은 값을디 차례로 배열에 들어가 된다.


명령행 인자를 사용하기 위해 아래 코드를 작성해보자.



 mainArgs.kt

fun main( args : Array<String> ) {


println( args[0] ); // 외부 첫 번째 인자

println( args[1] ); // 외부 두 번째 인자

println( args[2] ); // 외부 세 번째 인자

println( args[3] ); // 외부 네 번째 인자

}



작성한 코드는 Run > Run Configurations 항목을 선택하여 실행할 수 있다.





프로그램을 실행하면 아래와 같은 결과를 얻을 수 있다.



# 출력결과

 나이트엘프

 언데드

 오크

 휴먼



명령행에서 입력받은 인자를 각각 args[0], args[1], args[2], args[3] 문자열 형태로 저장한 것이다.




※ Eclipse에서 Run Configurations 실행 방법









'Kotlin' 카테고리의 다른 글

[Kotlin] 코틀린 프로젝트 시작하기  (0) 2020.04.27
[Kotlin] Eclipse를 이용한 Kotlin 작업환경 구성  (0) 2020.03.01
[Kotlin] 코틀린이란?  (0) 2020.02.12

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기