본문 바로가기

전체 글135

[kotlin] Exceptions Kotlin의 예외 처리 Kotlin에서 예외 처리는 프로그램의 안정성과 예측 가능성을 높이는 중요한 기능입니다.이 가이드에서는 Kotlin의 예외 처리 메커니즘을 상세히 살펴보고, 실제 사용 사례와 함께 이해를 돕겠습니다.  예외의 기본 개념 (Basic Concepts of Exceptions)Kotlin은 모든 예외를 unchecked로 취급합니다. 이는 예외를 잡을 수 있지만, 명시적으로 처리하거나 선언할 필요가 없다는 의미입니다. 예외 처리는 주로 두 가지 작업으로 구성됩니다:예외 발생(throwing): 문제가 발생했음을 나타냅니다.예외 잡기(catching): 예기치 않은 예외를 수동으로 처리합니다. 예외 발생하기 (Throw Exceptions)throw 키워드를 사용하여 예외를 수동으로 .. 2024. 8. 12.
[kotlin] Return 과 점프 표현식 Kotlin의 Return 과 점프 표현식Kotlin에서는 프로그램의 흐름을 제어하기 위한 다양한 구조적 점프 표현식을 제공합니다. 이 가이드에서는 return, break, continue의 사용법과 레이블을 활용한 고급 기법을 살펴보겠습니다.  기본 점프 표현식 (Basic Jump Expressions)Kotlin은 세 가지 기본적인 구조적 점프 표현식을 제공합니다:return: 기본적으로 가장 가까운 enclosing 함수나 익명 함수에서 반환합니다.break: 가장 가까운 enclosing 루프를 종료합니다.continue: 가장 가까운 enclosing 루프의 다음 단계로 진행합니다.이 표현식들은 더 큰 표현식의 일부로 사용될 수 있습니다:val s = person.name ?: return이.. 2024. 8. 12.
[Kotlin] 조건문과 반복문 Kotlin의 조건문과 반복문Kotlin은 다양한 조건문과 반복문을 제공하여 프로그래머가 효율적이고 읽기 쉬운 코드를 작성할 수 있게 합니다. 이 가이드에서는 Kotlin의 주요 제어 흐름 구조를 살펴보고, 각각의 사용법과 특징을 자세히 알아보겠습니다.  If 표현식 (If expression)Kotlin에서 if는 표현식입니다. 이는 값을 반환한다는 의미로, 다른 언어의 삼항 연산자(조건 ? 참 : 거짓)를 대체할 수 있습니다.var max = aif (a b) { max = a} else { max = b}// 표현식으로 사용max = if (a > b) a else b// else if도 표현식에서 사용 가능val maxLimit = 1val maxOrLimit = if (maxLimi.. 2024. 8. 11.
[kotlin] 타입 체크와 캐스팅 Kotlin의 타입 체크와 캐스팅Kotlin에서 타입 체크와 캐스팅은 객체 지향 프로그래밍의 핵심 기능입니다. 이 가이드에서는 Kotlin의 타입 체크와 캐스팅 기능을 모든 코드 예제와 함께 상세히 살펴보겠습니다. 아래 글은 kotlinlang.org의 공식 홈페이지의 문서를 참고하였습니다.    is와 !is 연산자 (is and !is operators)is와 !is 연산자는 객체의 타입을 런타임에 확인할 수 있게 해줍니다.if (obj is String) { print(obj.length)}if (obj !is String) { // !(obj is String)과 동일 print("문자열이 아닙니다")} else { print(obj.length)}이 연산자들은 특히 다형성을 활용.. 2024. 8. 11.
[Kotlin] 숫자 타입과 연산 가이드 Kotlin의 숫자 타입과 연산 가이드Kotlin에서 숫자를 다루는 방법과 관련된 다양한 개념을 살펴봅니다.  정수 타입 (Integer types)Kotlin은 숫자를 표현하기 위한 내장 타입 세트를 제공합니다. 정수의 경우, 크기와 값 범위가 다른 네 가지 타입이 있습니다:타입크기 (비트)최솟값최댓값Byte8-128127Short16-3276832767Int32-2,147,483,6482,147,483,647Long64-9,223,372,036,854,775,8089,223,372,036,854,775,807명시적 타입 지정 없이 변수를 초기화할 때, 컴파일러는 Int부터 시작하여 값을 표현하기에 충분한 가장 작은 범위의 타입을 자동으로 추론합니다. Long 값을 명시적으로 지정하려면 값 뒤에 L 접.. 2024. 8. 10.
[kotlin] 코딩 컨벤션 - lambdas, Trailing commas Kotlin 코딩 컨벤션 가이드Kotlin을 사용하여 더 깔끔하고 일관된 코드를 작성하기 위한 고급 코딩 컨벤션을 소개합니다.아래글은 공식 홈페이지를 참고하였습니다.https://kotlinlang.org/docs/coding-conventions.html람다 표현식람다 표현식에서는 중괄호와 화살표 주위에 공백을 사용합니다. 단일 람다를 인자로 받는 함수 호출 시, 가능하면 괄호 밖에 람다를 배치합니다.list.filter { it > 10 }람다에 레이블을 할당할 때는 레이블과 여는 중괄호 사이에 공백을 넣지 않습니다:fun foo() { ints.forEach lit@{ // ... }}여러 줄의 람다에서 매개변수 이름을 선언할 때는 첫 줄에 이름을 두고, 화살표와 줄바꿈을 따.. 2024. 8. 10.
[kotlin] 코딩 컨벤션 (coding conventions) Kotlin 코딩 컨벤션 가이드 Kotlin 프로그래밍 언어를 사용할 때 따라야 할 코딩 컨벤션에 대한 종합적인 가이드입니다.이 가이드라인을 따르면 코드의 일관성과 가독성을 높일 수 있습니다. 이 가이드 문서는 공식 홈페이지를 참고하였습니다.https://kotlinlang.org/docs/coding-conventions.html   Kotlin 명명 규칙 및 포맷팅 가이드Kotlin에서 코드를 작성할 때 일관성 있고 가독성 높은 코드를 만들기 위한 명명 규칙과 포맷팅 가이드라인을 소개합니다. 1. 명명 규칙패키지와 클래스 이름패키지 이름은 항상 소문자로 작성하며 밑줄을 사용하지 않습니다. (예: org.example.project)여러 단어로 된 패키지 이름은 권장하지 않지만, 필요한 경우 카멜 케이.. 2024. 8. 9.
[kotlin] 자주 사용되는 관용구(idiom) 모음 이 글은 Kotlin 프로그래밍 언어에서 자주 사용되는 관용구(idiom)들의 모음입니다.각 관용구에 대한 설명과 예제 코드를 함께 설명합니다.공식 홈페이지 kotlinlang.org의 내용을 참고합니다. 1. 데이터 클래스 생성 (Create DTOs)Kotlin에서는 data class를 사용하여 간단하게 DTO(Data Transfer Object)를 만들 수 있습니다.이는 자동으로 getter, setter, equals(), hashCode(), toString() 등의 메서드를 제공합니다.data class Customer(val name: String, val email: String)이 코드는 다음과 같은 기능을 제공하는 Customer 클래스를 생성합니다:- 모든 속성에 대한 getter.. 2024. 8. 9.
[kotlin] 입문시 알아야 할 8가지 핵심 문법 Kotlin의 주요 문법 특징들을 간략히 정리한 것입니다.각 항목은 Kotlin의 간결하고 표현력 있는 코드 작성을 지원하는 특징들을 보여줍니다. 아래 문서는 kotlinlang.org 공식 홈페이지를 참조합니다. 문자열 템플릿:$변수명으로 간단한 변수 삽입${표현식}으로 복잡한 표현식 삽입 가능조건식:일반적인 if-else 구문 사용if를 표현식으로 사용 가능 (삼항 연산자 대체)반복문:for-in 루프로 컬렉션 순회while 루프 사용 가능when 표현식:switch-case 대체다양한 조건 체크 가능 (값, 타입 등)범위:in 연산자로 범위 내 포함 여부 확인범위를 이용한 반복 가능 (step, downTo 사용)컬렉션:for-in으로 순회in 연산자로 포함 여부 확인람다 표현식으로 필터링, 정렬,.. 2024. 8. 7.
[kotlin] 입문시 알아야 할 7가지 핵심 문법 Kotlin의 기본적인 문법 요소들을 간략하게 설명하고 있습니다.각 항목은 Kotlin 프로그래밍의 기초를 이해하는 데 중요한 개념들을 포함하고 있습니다. 아래 문서는 kotlinlang.org 공식 홈페이지를 참조합니다. 패키지와 imports패키지 선언은 파일 최상단에 위치디렉토리와 패키지 구조 일치 불필요프로그램 시작점main() 함수가 진입점인자를 받는 main() 함수도 가능입출력print()와 println()으로 출력readln()으로 사용자 입력 받기함수파라미터와 반환 타입 지정 가능단일 표현식 함수 지원Unit은 반환값 없음을 의미 (생략 가능)변수val: 읽기 전용 변수var: 수정 가능한 변수타입 추론 지원초기화 후 사용 가능최상위 레벨 변수 선언 가능클래스와 인스턴스class 키워드.. 2024. 8. 7.
IntelliJ(2023.3.4 버전)에서 항상 파일경로 보이게 설정하기 IntelliJ 2023.3.4에서 파일경로를 항상 보이게 하는 설정을 할 수 있는 경로를 알려드릴게요 적용전의 화면은 아래와 같습니다. 현재 선택된 파일의 경로를 알 수가 없지요. View > Appearance > Navigator Bar 항목에는 Top, In Status Bar, Don't Show가 있는데요 View > Appearance > Navigator Bar > Top 으로 설정해보겠습니다. 적용된 모습을 보시면, 열린 파일 상단에 file의 전체경로(full path)를 확인할 수 있습니다. View > Appearance > Navigator Bar > In Status Bar 으로 설정하면, 왼쪽 제일 하단에 파일 경로가 나타난걸 볼 수 있습니다. 2024. 2. 20.
IntelliJ에서 콘솔 로그 출력 사이즈 늘리기 IntelliJ에서 콘솔 로그 사이즈 제약으로 로그가 다 안보이는 때가 있을때는 로그 출력 사이즈를 늘려줘야합니다. Console Log Output Size 변경하는 법을 살펴봅니다. 설정 열기: IntelliJ IDEA에서 설정(Preferences)을 클릭합니다. macOS에서는 메뉴 바의 IntelliJ IDEA를 클릭하거나 Windows와 Linux에서는 파일을 선택한 다음 설정을 클릭합니다. 편집기 설정으로 들어가기: 설정 내에서 편집기(Editor) 섹션을 열고, 일반(General)을 선택한 다음 콘솔(Console)을 클릭합니다. 버퍼 사이즈 조정: "콘솔 사이클 버퍼 사이즈 덮어쓰기(Override console cycle buffer size) (1024 KB)" 옵션을 찾아 체크박스.. 2024. 2. 19.