[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 | 비밀글로 남기기

[Kotlin] Eclipse를 이용한 Kotlin 작업환경 구성[Kotlin] Eclipse를 이용한 Kotlin 작업환경 구성

Posted at 2020. 3. 1. 17:29 | Posted in Kotlin




■ 이클립스에서 코틀린 실행하기




01. https://www.eclipse.org/ 페이지에 접속하여 이클립스를 다운로드 받는다.





02. Eclipse Installer 화면이 나타나면 최 상단의 가장 기본이 되는

     Eclipse IDE for Java Developers 를 선택한다.





03. Eclipse를 설치하기에 앞서 컴퓨터에 JAVA가 먼저 설치되어 있어야 한다.

     설치한 JAVA의 JRE경로와 이클립스를 설치할 경로를 지정해 준다.





04. 설치가 진행되는중 License 관련 화면이 나타난다. Accept 버튼을 클릭하여 설치를 계속 진행한다.





05. Eclipse의 설치가 완료 되었다면 LAUNCH 버튼을 클릭한다.





06. 설치가 완료되면 작업을 진행할 프로젝트가 생성될 디렉토리를 지정한다.





07. Eclipse IDE의 설치가 완료되고 프로젝트를 생성했다면.

    이제 설치한 Eclipse에서 Kotlin을 사용할 수 있게 셋팅을 해보자.

※ 순서 : Help → Eclipse User Storage → Open Marketplace Favorites





08. Eclipse Marketplace가 실행되면 Kotlin을 검색하고 설치를 진행한다.





09. Kotlin 설치를 유무를 묻는다.

    I accept the terms of the license agreements 를 선택하고

    Finish 버튼을 클릭하여 설치를 진행한다.





10. 설치 진행중 Eclipse에서 정식으로 지원하는 소프트웨어가 아니라는 경고 문구가 나타난다.

    Install anyway를 눌러 설치를 계속 진행한다.





11. 설치가 완료되면 Eclipse를 재시작하라는 팝업창이 나타난다.

     Restart Now 버튼을 클릭하여 Eclipse를 재실행 한다.







※ 참고로 설치가 끝까지 안되거나, 재실행 여부를 묻지않는경우

   12번, 13번의 Kotline 퍼스펙티브 기능을 사용할 수 없다.

   이 경우 Eclipse를 강제로 종료하고 다시 7번부터 시작하여 작업을 진행해 보자.






12. Kotlin 작업을 위한 플러그인의 설치가 완료되었다면

     Eclipse에서 Kotlin 코드 작성 및 실행 작업이 가능해 진다.

     Kotlin 퍼스펙티브를 불러와서 작업환경 구성을 마무리 하자.

※ 순서 : Window → Perspective → Open Perspective → Other





13. Open Perspective 창이 팝업되면, Kotlin항목을 선택하고, 작업환경을 Open한다.





14. 작업을 진행할 준비가 모두 마무리 되었다면, 본격적으로 Kotlin 프로젝트를 생성해 보자.

※ 순서 : File → New Kotlin → Project





15. 시작할 프로젝트 명을 입력하고 Finish 버튼을 클릭하여, 프로젝트를 생성한다.





16. 프로젝트가 정상적으로 생성 되었다면, 아래 화면과 같은 프로젝트명과 

     그안에 관련 내용들이 카테고리 형태로 나타나는 것을 알 수 있다.





17. 이제 코틀린 ( *.kf ) 파일을 생성하고, 그 위에 코드를 작성해 보자.

 순서 : src → New Kotlin → File





18. Kotlin Source File 생성 팝업창이 나타나면

     생성할 코틀린 ( *.kf ) 파일의 이름 지정하고 Finish 버튼을 클릭한다.





19. 코드 입력창에 아래와 같이 입력을 해보자.

  fun main( args : Array < string > ) {

        println( "Hello Kotlin~!!" );

  }





20. 이제 작성한 코틀린 코드를 컴파일 해보자.

※ 순서 : Run → Run As → Kotlin Application






21. 컴파일 수행할 자바 런처의 실행과 그 결과의 저장 여부를 묻는다.

     OK 버튼을 클릭하여 작업을 계속 진행한다.






22. 그럼 Eclipse 화면 하단에 Console 영역에서 Println( ) 함수에 기입한 문구가 출력되는 것을 직접 확인 할 수 있다.











■ 사용 목적에 따른 이클립스 구분하기




한대의 컴퓨터에 Eclipse IDE는 한개 이상 n개로 컴퓨터가 허용하는한 구분하여 설치가 가능하다.


필자의 경우 자바 프로젝트와의 구분을 위해 Eclipse의 *.icon 파일을 변경하여 Kotlin 전용으로 따로 구분하여 사용하고 있다.





윈도우 환경에서 자바용 이클립스와 코틀린용 이클립스를 구분하여 사용하는건


Kotline.ico 파일을 첨부하여 두었으니 사용유무는 사용자의 센스에 맞긴다.





첨부파일 :  invalid-file








'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 | 비밀글로 남기기

[Kotlin] 코틀린이란?[Kotlin] 코틀린이란?

Posted at 2020. 2. 12. 13:13 | Posted in Kotlin




발췌 : Do it! 코틀린 프로그래밍





■ 코틀린의 탄생 배경



-. 코틀린( Kotlin )은 IntelliJ IDEA라는 통합 개발 환경으로 유명한 젯브레인즈( JetBrains )에서 개발했다.


-. 구글의 안드로이드 스튜디오또한 IntelliJ IDEA 기반이며 코틀린을 공식 언어로 지원하고 있다.


-. 코틀린은 프로그래밍이 가능한 멀티플랫폼 언어이다.


 Kotlin / JVM

 · 자바 가상 머신에서 동작하는 애플리케이션을 제작

 Kotlin / JS

 · 자바스크립트로 웹 브라우저에서 동작하는 애플리케이션을 만들 수 있다.

 Kotlin / Native

 · LLVM 컴파일러를 이용하여 여러 플랫폼을 타깃으로 하는 애플리케이션을 만들 수 있다.


-. 코틀린은 JVM, JS, Native 상에서 실행될 수 있다.


 ① JVM( Java Virtual Machine, 자바 가상 머신) 기반의 코틀린은 자바 애플리케이션이나 안드로이드 애플리케이션을 만들 수 있다.


 ② JS( Java Script )  기반의 코틀린은 데이터베이스부터 서버, 클라이언트까지 다루는 풀스택( Full-Stack ) 웹 개발이 가능하다.


 ③ Native 기반의 코들린은 LLVM 컴파일러를 통해 다양한 플랫폼을 타깃으로 한 기계의 코드를 만들 수 있다.


 · 안드로이드 환경( arm32, arm64 )

 · 윈도우 환경( MinGW x86_64 )

 · 애플 iOS 환경( arm32, arm64, emulator x86_64)

 · 애플 맥 OS 환경( x86_64 ) 

 · 리눅스 환경( x86_64, arm32, MIPS, MIPS little-endian)

 · 웹 전용 환경( wasm32 )


    쉡게 말해 코드를 한번만 작성해도 Android와 iOS에서 모두 구동하는 애플리케이션을 만들 수 있다.


    또는 임베디드, IoT( Internet of Things )등을 타깃으로 한 애플리케이션을 만들 수 있다.








■ 코틀린의 장점




#01. 자바와의 완벽한 호완


코틀린은 자바와 완벽하게 호환되므로 자바 코드를 바꾸지 않고도 자바와 혼용하여 사용할 수 있다.


간단히 마라면 다양한 환경에서 사용할 수 있다.




#02. 자료형 오류를 미리 잡을 수 있는 정적 언어


코틀린은 프로그램이 컴파일될 때 자료형을 검사하여 확정하는 정적 언어이다.


즉 자료형 오류를 초기에 발견할 수 있어 프로그램의 안전성이 뛰어나다.




#03. 널 포인터( Null Pointer ) 예외로 인한 프로그램 중단을 예방할 수 있다.


컴퓨터 프로그래밍에 경험이 있다면, 널 포인터 예외( Null Pointer Exception )를 한번쯤은 경험하게 된다.


널 포인터 예외는 프로그램이 실행되는 도중에 발생하기 때문에 언제 어디서 어떻게 발생할지 아무도 알 수 없지만,


코틀린의 경우 널 포인터 예외를 사전에 예방할 수 있어 좋다.




#04. 간결하고 효율적


코틀린은 여러 가지 생략된 표현이 가능한 어어이다.


그래서 다른 언어보다 훨씬 간결하고 효율적으로 코딩이 가능하다.




#05. 함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능하다.


함수를 변수에 저장하거나 함수를 다른 함수의 매개변수로 넘길 수 있는 함수형 프로그래밍과,


클래스를 사용하는 객체 지향 프로그래밍을 둘다 할 수 있다.




#06. 세미콜론을 생략할 수 있다.


코드를 작성할 때 줄 마지막에 사용하던 세미콜론( ; )을 생략할 수도 있다.









■ 안드로이드 공식 언어로 채택된 코틀린




#01. 자바와 안드로이드 그리고 코틀린


자바 언어는 제임스 고슬링( James Gosling )이 만들었고 초기에는 썬 마이크로 시스템즈( Sun Microsystems )에서 관리해 왔다.


하지만 곧 썬 마이크로 시스템즈가 오라클에 인수되고 제임스 고슬링이 회사를 떠나면서


오라클이 자바 JDK( Java Development Kit )의 개발과 관리를 전적으로 주도하고 있다.



자바는 전 세계적으로 가장 널리 사용되고 있으며 언어 자체는 무료이지만,


오라클이 썬 마이크로 시스템즈를 인수한 다음 특정 자바 JDK에 대해 유료화 정책을 시작하였다.



이런 상황에서 구글은 자바 JDK를 통해 안드로이드 핵심 프레임워크와 여러 서비스를 이미 개발한 생태였기에,


오라클은 구글에게 몇 가지 자바 JDK를 사용한 API( Application Programming Interface )에 대하여


천문학적인 금앨의 특허 사용료를 요구했고 구글이 이를 거부하면서 구글과 오라클은 긴 시간동안 법정 소송을 벌여왔기에


몇가지 이해관계를 살펴볼 필요가 있다.




#02. 자바 언어와 Oracle JDK


자바 언어 자체는 무료로 사용할 수 있다.


다만 자바 언어로 프로그램을 작성하기 위해서는 SDK( Software Development Kit ) 자바 JDK가 필요하며,


자바 바이트코드를 실행하기 위해서는 JVM이 필요하다.



오라클은 Oralcle JDK와 JVM의 특정 기능을 사용할 때 라이선스 비용을 지불하는 정책을 시행하고 있기에,


구글은 이러한 분쟁을 피하기 위해 자체적인 가상 머신( DalvikVM 및 ART )을 만들거나


새로운 SDK를 제작하는 등의 조치를 취해 왔고,


자바언어를 대체하려고 코틀린을 안드로이드 공석 언어로 채택하게 되었다.


다만 하위 호환성을 고려하면 안드로이드의 모든 자바 프레임워크를 코틀린으로 다시 작성하기가 어렵기 때문에


안드로이드에서는 자바와 코틀린을 혼용해야 한다.




#03.  OpenJDK


오라클은 썬 마이크로 시스템즈를 인수하면서 기존의 썬 마이크로 시스템즈가 오픈소스화했던 JDK( Open JDK )를 유지한 상태로


Oracle JDK를 지속적으로 발전시키고 있다.



OpenJDK에는 오라클이 제공하는 몇 가지 사용 기능이 빠져 있으나 라이선스 비용을 지불하지 않는 GPLv2 라이선스를 따르는


오픈소스이기 떄문에 누구든 자유롭게 소스를 이용하고 배포할 수 있다.



라이선스 지불 비용과 관련한 대책으로 아줄 시스템즈( Azul Systems )에서 OpenJDK에 부가 기능을 넣어


TCK 인증을 통과시킨 Zulu라는 JDK가 존재한다.



 Oracle JDK 공식 웹 사이트

 · https://www.oracle.com/technetwork/java/javase/

 Open JDK 공식 웹 사이트

 · https://openjdk.java.net/

 Zulu 공식 웹 사이트

 · https://www.azul.com/downloads/zulu/










■ 코틀린으로 개발한 안드로이드 애플리케이션들



 · 핀터레스트( Pinterest)

 · 에버노트 ( Evernote )

 · 트렐로( Trello )

 · 스퀘어( Square )

 · 코세라( Coursera )

 



아직은 자바로 만든 안드로이드 애플리 케이션이 많지만,


구글이 2017 Google I / O에서 코틀린을 안드로이드 공식 언어로 발표한 이후 코틀린으로 만든 안드로이드 어플리케이션이 점점 더 많아지고 있다.


그만큼 코틀린이 개발자에게 인정받는 효율적인 언어라는 반증이 될 것이다.









'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 | 비밀글로 남기기