Kotlin 11

Kotlin에서 Getter / Setter를 무조건 만들어야 할까?

kotlin을 배우면서 custom getter / setter에 대해 알게 되었다.멤버 변수 아래 작성하고 get, set 함수 내에서 값에 대한 접근은 field 키워드를 사용한다는 것이 java와 달랐다.그런데 왜 custom일까? 하는 생각으로 빌드된 바이트 코드를 디컴파일해서 java 코드로 살펴보기 시작했다. IntelliJ IDEA에서 [Tools]  → [Kotlin]  → [Show Kotlin Bytecode]  → [Decompile]로 디컴파일된 java 코드를 확인할 수 있다. 다음은 kotlin에서 custom set 함수를 작성하고 컴파일 후 바이트 코드를 디컴파일한 java 코드이다.나는 set 함수만 작성했지만 java 코드를 보면 getResult라는 getter 메서드가..

Kotlin 2024.04.26

[Kotlin 문법] 함수

함수 : 코드를 사용할 수 있는 최소 단위 함수의 기본 구조반환하는 값이 있을 경우 반환타입을 명시해야 한다.반환타입과 return 값을 정의하지 않으면 반환값이 없는 함수가 된다.파라미터명을 정의하지 않으면 입력값이 없는 함수가 된다.fun 함수명(파라미터 이름: 타입): 반환 타입 { return 값} 단일 함수 표현식함수가 단일 표현식을 사용할 경우 중괄호({}) 없이 다음과 같이 작성할 수 있다.fun add(x: Int, y: Int) = x + y 함수의 사용함수를 사용하기 위해서는 함수명 옆에 괄호()가 있어야 실행된다. → 함수명(값)파라미터가 없는 경우 값을 입력하지 않는다. → 함수명()반환값이 없는 경우는 변수에 대입 없이 사용한다.반환값이..

Kotlin/Kotlin문법 2024.04.23

Programmers Kotlin 문제 풀이 11 ~ 20

짝수와 홀수 https://school.programmers.co.kr/learn/courses/30/lessons/12937 class Solution { fun solution(num: Int): String { return if(num % 2 == 0) "Even" else "Odd" } } 평균 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/12944 class Solution { fun solution(arr: IntArray): Double { return arr.average() } } 자릿수 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/12931 class So..

[Kotlin 문법] 반복문

for : 특정 횟수만큼 코드를 반복하기 위해 사용 while : 특정 조건을 만족할 때까지 코드를 반복할 때 사용 for for (변수 in 시작값..종료값) { 실행코드 } for (변수 in 시작값 until 종료값) { 실행코드 } → until : 마지막 값 제외 for (변수 in 시작값..종료값 step 숫자) { 실행 코드 } → step : 건너뛰기 (숫자값만큼) for (변수 in 시작값 downTo 종료값) { 실행 코드 } → step : 감소시키기 for (변수 in 배열 또는 컬렉션) { 실행코드 } → 엘리먼트의 개수만큼 반복 for (value in 1..10) { print(value) // 12345678910 } for (value in 1 until 10) { prin..

Kotlin/Kotlin문법 2024.04.19

[Kotlin 문법] 배열(Array), 리스트(List), 셋(Set), 맵(Map)

배열(Array)기본타입 뒤에 Array를 붙여서 만들 수 있음문자열타입은 Array(개수, { item -> "할당할 값" } 으로 만들 수 있음고정 길이를 갖으며 늘리거나 줄일 수 없음배열 선언// 기본타입 배열 선언val intArray = IntArray(10)val longArray = LongArray(10)val charArray = CharArray(10)val floatArray = FloatArray(10)val doubleArray = DoubleArray(10)// 문자열타입 배열 선언 - String은 기본 타입이 아니기 때문에 StringArray가 없으므로 다음과 같이 사용val stringArray = Array(10, {item -> ""}) //..

Kotlin/Kotlin문법 2024.04.19

[Kotlin 문법] 조건식(if, when)

if - else-if와 else는 생략할 수 있음 - 표현식으로 사용되는 경우 else를 생략할 수 없음 // 일반적인 사용 예시 if(조건식1) { // 조건식1이 참일 경우 실행되는 코드 } else if(조건식2) { // 조건식1이 거짓, 조건식2가 참일 경우 실행되는 코드 } else { // 위 조건식들이 모두 거짓일 경우 실행되는 코드 } // 표현식으로 사용 예시 - else 생략 X val a = 10 val b = 20 val result = if(a > b) a else b println(result) // 20 when - 표현식으로 사용되는 경우 else를 생략할 수 없음 - 파라미터를 생략하고 비교값에 조건식을 넣어 if문처럼 사용할 수 있음 // 일반적인 사용 예시 when(..

Kotlin/Kotlin문법 2024.04.14

[Kotlin 문법] 변수 & 기본 데이터 타입(자료형)

Variables(변수) - 값을 저장, 참조할 수 있음 - 모든 변수는 기본적으로 Non-Nullable - Nullable이 되기 위해서는 타입 뒤에 ? 기호를 붙여 Nullable임을 명시 변수 선언 및 null 허용 변수 사용 예시 // var : 같은 타입의 값으로 변경 가능 var number1 = 0 var number2: String // 초기화 없이 선언 가능, 타입 명시 필수 (단, 초기화 하지 않으면 사용 불가) number1 = 10 // number1 = "hello" // X, Type mismatch: inferred type is String but Int was expected // println(number2) // X, Variable 'number2' must be i..

Kotlin/Kotlin문법 2024.04.14