코틀린
![[Kotlin/Basic] 코틀린에서의 다양한 함수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeTBBAP%2FbtrLDQetKWL%2FR1T8xlbPGHVNpySEz3kft0%2Fimg.png)
[Kotlin/Basic] 코틀린에서의 다양한 함수
1. 확장함수 자바로 만들어진 라이브러리를 유지보수, 확장할 때 코틀린을 붙이고 싶을 때, 함수의 코드 자체는 밖에 있는데, 안에 있는 것처럼 쓰고 싶을 때 사용한다. 예시) fun String.lastChar() : Char { return this[this.length-1] } fun main(){ val str = "ABC" println(str.lastChar()) } String.lastChar() 함수가 확장함수이다. String클래스를 확장하기 때문에 String.을 붙여주고, this를 통해 인스턴스에 접근이 가능하다. this를 수신객체, String클래스를 수신객체타입이라고 부른다. 이렇게 한다면 main에서 멤버함수인 것처럼 사용할 수 있다. 위의 예시처럼 원래 String에 있는 멤..
![[Kotlin/Basic] 코틀린에서의 접근제어](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLa29a%2FbtrJEMkQw1e%2FsKWJSrL1dCQL5VL23XKmuk%2Fimg.png)
[Kotlin/Basic] 코틀린에서의 접근제어
1. 자바와 코틀린의 가시성 제어 위의 그림과 같이 public과 private은 똑같지만, protected와 default에서 차이점이 존재한다!! 같은 패키지에서 사용 가능했던 protected가 코틀린에서는 선언된 클래스, 하위클래스에서만 접근이 가능하다!! 또한, default가 사라지고 internal이 등장했고 이는 같은 모듈에서만 접근이 가능하다! 2. 코틀린 파일의 접근 제어 public은 기본값으로 어디에서든 접근이 가능하다!! var a = 3 fun add(a : Int, b : Int) : Int { return a + b } 코틀린 파일안에 기본값이 public으로 어디에서든 접근이 가능하다!! 하지만 protected는 파일 최상단에서는 사용이 불가능하다! 왜냐하면 파일의 최상..
![[Kotlin/Basic] 코틀린에서의 상속](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9PeQ6%2FbtrJC5LDxyX%2FczY46tsVXxjhEQRJn1hO10%2Fimg.png)
[Kotlin/Basic] 코틀린에서의 상속
1. 추상클래스 추상클래스의 이해를 돕기 위해 먼저 동물이라는 상위클래스와 고양이, 펭귄 이라는 하위클래스를 만들어보자! 위의 자바 클래스를 코틀린으로 바꾸어보자! abstract class Animal( protected val species : String, protected open val legCount : Int //프로퍼티를 오버라이드 할 때 추상 프로퍼티가 아니라면 //무조건 open을 붙여줘야만함 ) { abstract fun move() } 이렇게 변경시킬 수 있고, 위의 open이라는 지시어는 오버라이드를 할 수 있게 열어준다는 뜻이다! 먼저 Cat클래스를 만들어 Animal클래스를 상속받아보자. class Cat( species : String ) : Animal(species, 4)..
[Kotlin/Basic] 코틀린에서의 연산자
1. 연산자의 종류 자바에서 알고 있는 연산자는 단항연산자 : ++, -- 산술연산자 : +, -, *, /, % 산술대입연산자 : +=, -= 비교연산자 : > , money2){ println("1 > 2") } 이렇게 객체를 비교할 때 자주 사용하는 연산자로 사용하지만, 실제로 자동으로 compareTo를 호출해준다. 2. 비교연산자와 동등성, 동일성 자바에서는 동일성에 ==을 사용하고, 동등성에 equals..
[Kotlin/Basic] 들어가며, val/var 차이, 코틀린에서의 null
코틀린 문법 공부를 시작하며 약 1년 반동안 자바로 Spring 개발, 알고리즘 공부 뿐만 아니라 모든 프로젝트를 자바로 개발해왔다. 하지만 2022년도 1학기 TLOVER라는 앱을 개발하면서 안드로이드 공부를 시작했고, 코틀린이라는 언어로 TLOVER앱을 론칭했다. 코틀린에 대한 지식 없이 구글링으로만 개발을 해서 부족한 부분이 많았고, 객체지향인 점에서는 같지만 자바하고와의 차이점은 굉장했다. 자바에서의 10줄 넘는 코드가 코틀린에서는 단 3줄로 끝나는 경우도 있었다. 편리한 점이 굉장히 많았지만 익숙했던 자바의 코드때문에 헷갈리는 부분이 많아 제대로 활용하지 못했다. 따라서 인프런 최태현 강사님의 자바 개발자를 위한 코틀린 입문 이라는 강의를 듣고 내가 알고있던 자바하고와의 차이를 비교해가며 공부할..