Android

[Android] 자바와 코틀린

poppy 2020. 8. 27. 14:56
반응형

자바와 코틀린

자바는 안드로이드 개발에서 가장 많이 사용되는 프로그래밍 언어 중 하나였습니다. 하지만 자바가 가지고 있는 기술적인 한계가 큰 문제였습니다. 자바가 가지고 있는 한계때문에 안드로이드 API 디자인에 관련된 문제와 장황한 언어로 인한 개발상의 오류가 빈번히 발생하였습니다. 이러한 문제점을 극복하기 위해 만들어진 것이 코틀린입니다. 코틀린은 Android Studio를 만든 회사인 JetBrain에서 만든 언어입니다. 코틀린은 자바 가상머신(JVM) 위에서 동작하는 정적 언어이며 안드로이드와 100% 호환할 수 있습니다. 

 

자바는 객체지향 프로그래밍이라서 클래스 내부에 있는 함수에서만 로직을 작성할 수 있지만, 코틀린은 함수형 프로그래밍이라서 이런 제한없이 작성할 수 있습니다. 다음과 같이 차이점을 볼 수 있습니다.

자바

class Hello {

    public static void main(String args[]) {

       System.out.print("Hello World");

    }

}

코틀린

System.out.print("Hello World");

 

안드로이드 개발에서 자바와 코틀린의 큰 차이점은 코드의 양이라고 생각됩니다. 코틀린을 사용했을 때 훨씬 코드의 양이 적어집니다. 다음 예제를 보시면 코드의 양이 얼마나 차이나는지 보실 수 있습니다.

자바

class ButtonActivity extends Activity {

    protected void onCreate(Bundle savedInstance) {

        Button button = findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

                System.out.print("Hello World");

            }

        };

    }

}

코틀린

class ButtonActivity : Activity( ) {

    override fun onCreate(savedInstance: Bundle?) {

        button.setOnClicklistener {

            print("Hello World")

        }

    }

}

 

코틀린은 실용적이며 경제적이고, 쉽고 간결한 언어입니다. 하지만 코틀린은 자바 6버전의 바이트 코드를 대상으로 하기 때문에 자바8의 향상된 기능을 제공하지 않습니다. 빌드시간이 자바보다 조금 더 느립니다. 코틀린 표준 라이브러리가 자바 표준 라이브러리 위해 더해지기 때문입니다. 

반응형