전체 글 21

[Kotlin] 예외(Exception) 처리하기

개요필자는 자바에서 예외 처리를 할 때 try-catch문을 많이 사용했었다. Kotlin에서는 어떻게 예외 처리를 하는지 궁금해서 포스팅을 해본다. 프로그램을 실행할 때 내가 작성한 코드가 제대로 작동되지 않는 현상이 있다. 이 경우를 예외(Exception)라고 한다.우리는 이 예외를 잡기 위해서 예외 처리를 하는데 주로 사용하는 것이 try-catch문, throw문 등이 있다.try-catch자바와 마찬가지로 try-catch문이 제공되며 사용 방법은 똑같다.try { // 예외 발생 가능성이 있는 코드} catch (error: 예외 클래스) { // 예외 처리 코드} finally { // 무조건 실행할 코드}finally 구문은 무조건 사용하는 게 아니라 필요할 때만 사용한다..

Kotlin 2024.12.03

[Kotlin] 함수(Function), 람다(lambda)

개요필자는 람다를 알아보기 위해서 공부를 시작했는데 하다 보니까 함수도 알아야 할 것 같아서 포스팅해 본다. 함수(Function)프로그래밍에서 함수를 수학적으로 생각하면 안 된다.함수는 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드들의 집합을 말하는데 한마디로 여러 코드들을 한 번에 묶은 것이라고 정리해도 된다.이로 인해 귀찮은 작업들과 중복 코드가 줄어든다. 직접 개발하다 보면 알게 될 거다.😁함수에는 언어에 기본적으로 포함되는 함수가 있고, 사용자 함수가 있다. 그중 사용자 함수에 대해 알아볼 거다.사용자 함수 정의함수를 정의할 때는 fun 키워드를 사용한다.fun 함수명(파라미터: 타입) : 반환타입 { return 반환값}파라미터는 어떤 데이터를 받는 것이며 필수는 아..

Kotlin 2024.12.02

[Kotlin] JVM, Kotlin 컴파일 과정

개요필자는 Kotlin이 어떻게 컴파일되고 어떻게 Java와 100% 상호운영성이 되는지 궁금해서 포스팅을 한다. 😁 요즘들어 개발보다는 원리를 많이 공부하는 것 같다. 우선 Kotlin 실행 과정보다 Java가 어떻게 돌아가는지를 알아보자. 왜냐하면 Java의 실행 과정을 알아야 Kotlin 실행 과정을 이해할 수 있기 때문이다.JDK, JRE, JVM자바를 실행하기 위해서 JDK를 설치하라고 한번쯤은 들어봤을거다. 왜냐하면 JDK는 자바를 위한 모든게 들어 있기 때문이다. 1. JDKJDK는 Java Development Kit의 약자로 자바 애플리케이션을 개발하기 위해 필요한 도구들이 많이 모여 있는 곳이다. JDK를 설치하면 자동적으로 JRE, JVM이 설치된다.기본적으로 자바 컴파일러, 런타임..

Kotlin 2024.12.02

[🌐Network] 패킷(Packet), TCP/IP

개요필자는 패킷이라는 것을 마인크래프트 플러그인 개발할 때 사용하긴 했었다. 네트워크에 속한다고는 알고 있었는데 정확히 뭘 의미하는지는 몰랐다. 이 포스팅을 통해서 알아가볼려고 한다.패킷이란?패킷은 Package(패키지) + Bucket(버킷)을 합친 말로, 네트워크를 통해서 데이터를 전달하는 기본 단위이다.네트워크를 통해서 데이터를 전달할 때 데이터를 조각으로 쪼개는데 그것을 패킷이라고 한다.그냥 바로 데이터를 전달하지 왜 패킷으로 굳이 나누어서 전달하냐고 의문이 생길 수 있다. 컴퓨터가 두 대 이상을 경우에는 비효율적이기 때문이다.서로 다른 컴퓨터가 두 회선으로 데이터를 전송할 때 세 번째 컴퓨터에서는 동일한 회선을 사용해 데이터를 전송할 수 없기 때문이다.패킷은 컴퓨터가 몇대라도 목적지 IP에 잘 ..

Network 2024.11.30

[Kotlin] 컬렉션(List, Set, Map), 관련 함수들

개요필자는 Java에서 Collection이라는 개념을 들어보기만 했지 자세하게 공부는 안해봤다. 대표적인 List, Map도 사용은 해봤지 자세한 용도와 개념은 모르고 사용했었다. 이번 기회를 통해 다시 처음부터 공부하고자 이 글을 쓴다.CollectionCollection은 자료구조를 편하게 다루기 위한 라이브러리이다.자, 여기서 자료구조란 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것으로 한마디로 데이터들의 모임이라고 정리할 수 있다.즉, Collection은 데이터 값의 모임을 잘 정리한 라이브러리이다. Kotlin에서는 Mutable(가변성)과 Immutable(불변성)로 나누어지고 List, Set, Map 등이..

Kotlin 2024.11.18

[Kotlin] 제어문(2) - 반복문(while, for)

Kotlin에서는 for, while, do-while문이 있다. 각각 살펴보면서 이해해보도록하자. 1. while 문while (조건식) { 동작 코드 증감식}증감식을 사용하지 않으면 무한으로 반복되어 컴퓨터가 열받으니 증감식은 꼭 사용해야 한다. * whilewhile은 조건을 검사하고, 만족하면 본문을 처리한 후 조건 검사로 다시 돌아간다.위 코드는 i가 5보다 작거나 같을 때까지 반복하겠다는 코드이다. i++을 작성한 이유는 i가 증가하지 않으면 조건은 계속 참(true)이 될거고 컴퓨터가 터져버리기 때문에 1씩 증가하게 만들어 조건이 계속 참(true)이 될 수 없도록 만든거다. * do-whiledo { 동작할 코드} while (조건식)do-while문은 while문과 달리 ..

Kotlin 2024.11.15

[Kotlin] 배열(Array)

개요처음 Kotlin의 배열을 접했을 때 Java에 너무 익숙한 나머지 Kotlin에 배열이 좀 어려워보였다.Java는 위와 같이 배열을 선언할 수 있었는데 Kotlin은 배열을 선언하는 방법이 다양해서 순간 당황했었다.하지만 이건 익숙함의 문제라 넘기고 배열(Array)에 대해서 설명해보겠다.배열배열(Array)은 동일한 자료형/타입을 가진 데이터들을 나열한 구조이다.위 그림에서 array는 정수형 데이터 1부터 6까지 저장하고 있다. 우리는 인덱스(index)를 사용해서 값에 접근할 수 있다. 인덱스(index)를 사용할때는 0부터 시작한다. (예: array[1]은 2를 반환한다.)배열 선언Kotlin에서 배열(Array)을 선언하는데는 크게 3가지 방법으로 분류된다. arrayOf(), (자료형)..

Kotlin 2024.11.14

[Kotlin] 제어문(1) - 조건문(when, if-else)

Kotlin에서 제어문은 조건문과 반복문이 있다. 이번 포스팅에서는 조건문 when, if-else문에 대해서 다룰 것이다.1. when문when문은 다중 선택문으로 Java의 switch문이라고 보면 된다. when문의 형식when (조건을 검사할 값) { case1 -> { 동작1 } case1 -> { 동작2 } else -> { 동작3 }}동작할 코드가 한줄이면 중괄호는 생략 가능하다. 하지만 여러 코드가 실행되어야 한다면 꼭 중괄호를 써야한다. 그렇지 않으면 에러나니 조심하자. 기본 사용법해당하는 값을 찾지 못했을 시 else로 넘어간다. 그러니 꼭 when문을 사용할때는 else를 같이 써줘야한다. else를 써주지 않으면 에러가 나니 조심하자.만약 v..

Kotlin 2024.11.14

[Kotlin] 형변환과 Null 안전성(Null Safety)

Java에서는 암시적 형변환과 명시적 형변환 둘 다 가능했는데 Kotlin에서는 여러가지 오류를 막기위해 개발자가 직접 형변환을 해야하는 명시적 형변환을 지원한다.* 명시적 형변환 : 개발자가 직접 자료형을 지정해 형변환* 암시적 형변환 : 자료형을 지정해주지 않아도 자동으로 형변환 Java에서는 아래와 같은 코드로 형변환이 가능했다.Java에서 명시적 형변환은 (자료형) 형식으로 작성해주면 해당 값은 작성해준 자료형으로 형변환된다.결과가 잘 출력되는 것을 볼 수 있다.하지만 Kotlin에서는 암시적 형변환은 지원되지 않는다. 오로지 명시적 형변환만 지원한다.기본 타입 형변환Kotlin에서는 명시적 형변환을 할때 여러가지 함수들을 제공한다.함수설명예toByte()Byte으로 강제 형변환a.toByte()..

Kotlin 2024.11.14

[Kotlin] 자료형과 연산자

Kotlin에서 자료형은 정수, 실수, 논리, 문자, 문자열 등이 있다 1. 정수 자료형Kotlin에서 정수 자료형을 부호있는 자료형과 부호없는 자료형으로 구분한다부호있는 자료형에는 Byte, Short, Int, Long 등이 있고 부호없는 자료형에는 UByte, UShort, UInt, Ulong 등이 있다 부호있는 정수형타입크기최솟값최대값기본 값Byte1Byte(8bit)-1281270Short2Byte(16bit)-32768327670Int4Byte(32bit)-2,147,483,648 (-2 31 )2,147,483,647(2 31 - 1)0Long8Byte(64bit)-9,223,372,036,854,775,808 (-2 63 )9,223,372,036,854,775,807 (2 63 - 1)..

Kotlin 2024.11.12