물론 내 실력에 조금은 오바하는것 일수도 있지만(다른것 먼저 배울게 많지만) 코틀린인이라는 언어가 너무 궁금하고 배워보고 싶어서 배웠다.
그냥 하고 싶으면 할것이다.
코틀린 언어에 대한 설명은 이미 인터넷에 많이 나와있으므로 간단한 특징 설명뒤 코틀린 기본 문법 위주로 포스팅할 예정이고 자바와 다른점만 포스팅할 예정이다.
kotlin for ServerSide :서버 개발을 위한 라이브러리를 제공한다.
kotlin for Android : 안드로이드 개발시 코틀린 사용 개발가능
kotlin for JavaScript: 자바스크립트, ECMAScript를 사용 하는 웹분야 및 Node.js개발 분야에서 사용 가능(노드는 주로 서버사이드목적 , 즉 병렬처리가능해서 빅데이터에 많이쓰인다)
.1.값+문자열
2.문자열 줄 나누기
코틀린은 모든 기본자료형은 객체로 관리하기떄문에 -> 여기에잇는건 다 객체의 클래스타입이다
코틀린: 부호가 없는 정수형 ULong/UInt/UShort/UByte
자바: 자료타입 변수명 = 값
코틀린 var or val 변수명 = 값/ 변수의 자료타입은 자동 추론
var =선언이후 값 변경 가능
val = 선언이후 변경 x
val = 변수 자체는 대체 불가 하지만 그 안의 요소들은 변경 가능
코틀린에서는 boxing/unboxing을 고려하지 않아도 코틀린이 알아서 처리해줌
= Java에서는 클래스에 메서드를 만들어 사용하지만 코틀린은 C언어처럼 함수라는 개념을 제공한다.
= 함수를 만들어 놓고 메인에서 호출하는 개념
나머지것들은 자바와 같음
-> setValue함수에 매개변수로 값이 들어오면 when문이 실행된다
= 생성자는 클래스가 가지고 있는 변수의 값을 초기화 하는데 사용한다
코틀린:
클래스를 정의할떄 이름 우측에 정의하는 생성자(생략가능)
기본생성자의 매개 변수는 멤버 변수로 자동 등록되며 getter/setter도 자동으로 생성됨
디코드 된걸 보면 알겠지만 매개변수에 var/val를 붙이지 않으면 매개변수 생성자만 생성
코틀린: 부모 클래스 생성시 open 키워드를 사용해야 한다. 그렇지 않으면 자바 코드로 변환시 final이 붙어서 상속이 불가능 하다.
매개변수가 없는경우 (기본생성자)
매개변수가 있을 경우
코틀린에서는 클래스 안 모든 변수는 자바코드로 변환시 기본 private가 설정 된다
접근 제한자의 종류에 따라 getter메서드 추가 여부가 결정된다
- private: 외부에서 객체 생성 불가
- public : 외부에서 객체생성 가능
- protected : 클래스에 지정 불가
- internal : 모듈이 같을 경우에만 객체 생성 가능
- private: 외부에서 접근 불가
- public : 외부에서 접근 가능
- protected : 상속 관계일 경우에만 접근 가능
- internal : 모듈이 같을 경우에만 접근 가능