본문 바로가기
반응형

Kotlin Language/Kotlin 기본 문법26

Kotiln(코틀린) - 예외처리(try catch,throw) 예외처리(Exception) ? 함수를 실행하고 어떤 값을 반환하거나 비정상적으로 오류가 발생한 경우 예외를 던질(throw) 할 수 있습니다. 예외가 발생한 경우에는 함수를 호출한 쪽에서 예외를 잡아내거나(catch), 예외에 대해 처리를 하지 않는 경우 함수 호출 스택을 거슬러 올라가면서 예외를 처리하는 부분이 나올 때까지 예외를 다시 던질 수도 있습니다.(rethrow) try catch finally 기본적인 예외 처리는 try-catch 블록을 사용합니다. try { // 예외가 발생할 수 있는 코드 } catch (e: SomeException) { // 해당 예외를 처리하는 코드 } catch (e: AnotherException) { // 다른 예외를 처리하는 코드 } finally { /.. 2023. 12. 5.
Kotlin(코틀린) - 접근제한자 접근 제한자(Visibility Modifier)? 객체가 공개되어야 하는 범위를 정하는 역할을 하고 있습니다. 접근 제한자 종류? 코틀린에서는 private, protected, internal, public의 접근 제한자를 사용하고 있으며, 변수, 클래스 멤버 등의 참조 종류 설명 public 코틀린의 기본 접근 제한자로써, 어디에서나 접근할 수 있습니다. private 해당 파일(.kt) 또는 클래스 내에서만 접근 가능합니다. protected 상속받는 인터페이스, 클래스 또는 자식 클래스에서 만 접근이 가능합니다. internal 같은 모듈 내에서 어디서든 접근 가능하다. 모듈이란? 모듈은 일반적으로 관련된 코드 및 리소스를 그룹화한 단위를 나타냅니다. 모듈은 프로젝트 내에서 독립적으로 컴파일되고.. 2023. 12. 5.
Kotlin(코틀린) - 람다함수 (Lambda Expression) 람다 표현식 ( Kotlin Lambda Expression ) ? 람다식(Lambda expressions)은 간결하게 표현된 익명 함수입니다. 람다식은 함수형 프로그래밍의 핵심 요소 중 하나로, 코드를 간결하게 작성하고 함수를 일급 객체로 다룰 수 있게 해줍니다. 간단히 람다라고도 불리며, 익명 함수(Anonymouse function)를 의미하기도 합니다. 익명 함수는 함수의 이름이 없는 혹은 생략한 함수를 말하며, 보통 한번 사용되고 재사용되지 않는 함수를 만들때 익명 함수로 만드는데, 변수에 대입하여 이용하거나 콜백 함수에 지정할 수 있다. 그러기에 함수를 따로 생성하지 않고, 코드에 익명 함수를 만들어 코드 가독성을 높일 수 있다. 이는 함수형 프로그래밍에서 자주 사용하는 패턴입니다. 람다식은.. 2023. 12. 3.
Kotlin(코틀린) - 인터페이스(Interface) Interface 란? 코틀린에서의 인터페이스는 자바의 인터페이스와 유사하지만 몇 가지 차이점이 있습니다. 구현부가 있는 함수가 정의될 수 있습니다. 단 어떤 멤버(field)도 가질 수 없습니다. 아래에서 코틀린 인터페이스에 대한 주요 특징을 설명하겠습니다. Interface 선언 코틀린에서는 인터페이스를 선언할 때 'interface' 키워드를 사용합니다. interface MyInterface { // 인터페이스 내용 } 다중 인터페이스 구현 코틀린 클래스는 여러 개의 인터페이스를 동시에 구현할 수 있습니다. interface Interface1 { fun method1() } interface Interface2 { fun method2() } class MyClass : Interface1, I.. 2023. 12. 3.
Kotlin(코틀린) - 상속(inheritance) 상속 (inheritance) 상속은 클래스 간의 관계를 정의하고 부모 클래스의 특성을 자식 클래스에서 사용할 수 있도록 하거나, 클래스들의 공통점을 찾아낼 때 유용하게 사용할 수 있습니다. 상속은 객체 지향 프로그래밍의 중요한 개념 중 하나이며, 코드의 재사용성과 유연한 확장성을 높이는 데 기여합니다. 클래스 선언 안에서의 상속 코틀린에서 클래스 간의 상속은 클래스 선언 부분에서 : (콜론)을 사용하여 정의됩니다. 부모 클래스와 자식 클래스 간의 상속 관계를 형성하려면 자식 클래스 선언부에서 부모 클래스를 명시해야 합니다 // 부모 클래스 open class Animal(val name: String) { fun makeSound() { println("소리") } } // 자식 클래스 class Do.. 2023. 12. 1.
Kotlin(코틀린) - 생성자(init, Constructor) 코틀린에서 생성자는 클래스의 인스턴스를 초기화하는데 사용되는 함수입니다. 코틀린에서는 주 생성자와 부 생성자(secondary constructor)로 나뉘며, 주 생성자는 클래스 헤더 부분에 선언되고, 부 생성자는 클래스 본문 부분에 선언됩니다 init 주로 클래스의 초기화 로직을 담당하는 특별한 종류의 함수입니다. 이 함수는 클래스가 생성될 때 호출되며, 주로 프로퍼티 초기화나 다른 초기화 코드를 담는 데 사용됩니다. init 함수는 주 생성자(Primary Constructor)의 일부로 정의되며, 클래스 내에 여러 개의 init 블록을 가질 수 있습니다 코틀린을 별도의 생성자 영역이 없기 때문에 init 영역에서 초기화해주어야 한다. class MyClass(name: String, age: In.. 2023. 12. 1.
Kotlin(코틀린) - 생성자 클래스(Class) Class 란? 코틀린에서의 클래스는 객체지향 프로그래밍(OOP) 개념을 기반으로 하는 구조를 가지고 있으며, 객체를 만들 수 있도록 합니다. 코틀린의 클래스는 자바와 마찬가지로 기본 가시성이 public 입니다. 따라서 아래와 같이 선언해도 컴파일러는 위와 동일한 클래스 선언이라고 판단합니다. class MyClass { } public class MyClass { } // 위와 아래는 같은 클래스입니다. 코틀린에서 클래스를 정의하는 기본 문법입니다. 클래스의 프로퍼티 선언 class myClass { var name: String = "" var age: Int = 0 } 클래스 내부에는 프로퍼티를 선언할 수 있습니다. 프로퍼티는 클래스의 상태나 데이터를 나타냅니다 코틀린의 프로퍼티는 기본적으로 선언.. 2023. 11. 30.
Kotlin(코틀린) - 콜렉션(Map, Set) Map 란? Key와 Value가 같이 들어가 저장되어 있는 데이터형 자료 구조입니다. Key를 통하여 Value에 접근할 수 있으며, 반대로 Value에 접근하여 Key값을 찾아 낼 수도 있습니다. 그리고 Key의 중복은 불가능하지만 Value의 중복은 허용하고 있습니다. mapOf() 오직 읽기만 가능한 Read-Only 형태를 가진 함수입니다. // var math = mapOf (7) //ERROR // println(math) //ERROR var clone = mapOf ("복사" to 7) //KEY : 복사 // 값 : 7 println(clone) mutableMapOf() 읽기와 쓰기가 가능한 형태를 가진 함수입니다. // var math = mapOf (7) //ERROR // pri.. 2023. 11. 30.
Kotlin(코틀린) - 콜렉션(List) 사용법 List 란? 코틀린에서는 여러 가지 형태의 콜렉션(Collection)이 있습니다. 그 중 List에 대해서 알아보겠습니다. List는 배열(Array)와 흡사 하지만 동적 자료 구조 형태이며, 값이 정해져 있지 않아 수정할 수 있습니다. List 콜렉션의 특징 배열 값이 정해져 있지 않아 수정이 가능하고 이는 불연속적인 메모리 공간을 점유하여 메모리 관리에 용이합니다. 가변성, 불가변성을 동시에 가지고 있습니다. 중복 요소를 허용합니다. 정해진 메모리 공간을 사용하는게 아닌, 불연속적인 메모리 사용으로 검색 성능이 낮습니다. 배열과 리스트의 차이점 List(리스트) Array(배열) Iterator 인터페이스 구현 방식 내부적 구현 방식 Index 접근 가능 접근 가능 isEmpty, contains.. 2023. 11. 29.
728x90
반응형