분류 전체보기(114)
-
Kotlin 기본 문법 - 지연 초기화
# 지연초기화의 개념- 코틀린은 클래스를 설계할 때 안정성을 위해 반드시 변수의 값을 초기화할 것을 권장함- 하지만, 클래스 설계 시 초기에 값을 정의하기 난처한 경우 나중에 값을 대입하기 위한 문법- 지연초기화를 위해 lateinit, lazy 키워드 사용- 저사양 환경에서 효율적으로 메모리 사용 가능 # 변수의 지연초기화fun main(){ var s1 = Student() s1.name = "참새" s1.displayInfo() s1.age = 10 s1.displayInfo()}class Student { // name 변수를 나중에 정의하기 위해 lateinit 사용 lateinit var name:String var age:Int = 0 fun dis..
2024.06.10 -
Kotlin 기본 문법 - 예외처리
# 예외처리의 개념- 프로그램을 실행하기 전에 알 수 있는 컴파일 에러 = 오류- 프로그램을 실행하는 도중에 발생하는 런타임 에러 = 예외- 실행 도중에 예외가 발생하면 프로그램이 비정상적으로 종료됨- 코틀린은 try-catch와 throw로 예외를 처리함 # try-catch: 예외가 발생할 가능성이 존재하는 코드에 대해 어떻게 처리할지에 대해 사전에 처리fun method1() { try { 예외가 발생할 가능성이 존재하는 코드 } catch(예외종류) { 예외가 발생했을때 처리할 코드 }} # throw: 예외가 발생하는 경우에 그 예외를 무시하고 코드를 진행 fun method1(num1:Int) { if(num1 > 10) { throw 예외종류 }} # 예외처리의 필요성- ..
2024.06.10 -
Kotlin 기본 문법 - 접근제한자
# 접근제한자 개념- 변수나 메소드의 접근을 제한할 수 있음- 접근: 객체를 이용해서 변수나 메소드를 호출할 수 있는지의 여부- 용어 정리: 프로젝트(모듈, 패키지, 클래스 포함) > 모듈(패키지, 클래스 포함) > 패키지(클래스 포함) > 클래스public 어디서나 접근 가능(명시하지 않으면 기본적으로 public) private동일 클래스 내부에서만 접근 가능internal같은 모듈 내부에서만 접근 가능protected기본적으로 private이지만 상속을 받은 경우 타 모듈에서 접근 가능 # 접근제한자가 필요한 이유- 데이터에 무분별한 접근을 방지- 클래스 간 접근하면 안되는 상황을 구분해 향후 유지보수에 용이 class AccessTestClass { public var a:Int = 1 ..
2024.06.10 -
코드카타 - 서울에서 김서방 찾기
문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다.입출력 예 seoul return ["Jane", "Kim"] "김서방은 1에 있다" 풀이class Solution { fun solution(seoul: Array): String { var kim = seoul.indexOf("Kim") ..
2024.06.10 -
코드카타 - 콜라츠 추측
문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항..
2024.06.08 -
#2. 변수
# 변수(Variable)- 값을 임시로 메모리에 저장하고 이름을 부여한 것- 이름과 값으로 구성 # 데이터 타입숫자형Double64비트 정수-1.7E+308의 근삿값 ~ 1.7E+308의 근삿값 Float32비트 정수-3.4E+38의 근삿값 ~ 3.4E+38의 근삿값 Long64비트 정수-2E63 ~ 2E63-1 Int32비트 정수-2,147,483,648 ~ 2,147,483,647 Short16비트 정수-32,768 ~ 32,767 Byte8비트 정수-128 ~ 127문자형Char1 개의 문자‘글’ (외따옴표) String여러 개의 문자“여러 개의 글자입니다.” (쌍따옴표)불리언형Booleantrue, false 두 가지 값true 또는 false # 기본 타입: 변수에 저장되는 값의 크기가 미리 ..
2024.06.07