본문 바로가기

분류 전체보기102

[Kotlin 문법 종합] - 지연 초기화 (@@0313 추가중~) 1. 지연 초기화 : 클래스 설계 시 초기의 값 설정하기 애매할 때, 나중에 대입 (+) 메모리의 효율적인 사용 1) 변수 --> lateinit - isInitialized --> 변수 사용 전, 초기화되었는지 확인해 true/false 반환 ( !::name.isInitialized) - 값이 아니라 참조형태로 사용해야 하기에 this::~ 또는 :: 붙임 // var에만 사용 가능, 프로퍼티에 대한 게터, 세터를 사용할 수 없음(초기화된 뒤에는 수정 가능하긴 한 듯) fun main(){ var s1 = Student() s1.name = "참새" //이 때 초기화됨 s1.displayInfo() s1.age = 10 s1.displayInfo() } class Student { lateinit v.. 2024. 3. 6.
[Kotlin 문법 종합] - 예외처리 # 수정하기 1. 예외처리 * 예외 : 런타임 에러 * 오류 : 컴파일 에러 (실행 전) (+) 안정성 1) try-catch : 완벽한지 애매한 부분을 try로 감싸기 fun method1() { try { // } catch(예외종류) { //예시 = e:java.lang.NumberFormatException // } } while(true) { //무한반복. break 작성 필수 try { var num1 = readLine()!!.toInt() println("내가 입력한 숫자는 ${num1}입니다") break } catch(e:java.lang.NumberFormatException) { println("숫자를 입력하세요") } } while(true) { try { var num1 = readLine(.. 2024. 3. 6.
[Kotlin 문법 종합] - 접근제한자와 관련 용어 정리 1. 관련 용어 정리 1) 프로젝트 : 최상단 개념. 모듈, 패키지, 클래스를 포함함 2) 모듈 : 패키지, 클래스를 포함 //java, res 폴더 포함. app폴더 3) 패키지 : 클래스를 포함 //java폴더 하위파일들을 포함. 클래스는 동일 페이지라고 생각하면 될듯 4) 접근 : 객체를 이용해 변수나 메소드를 호출할 수 있는지의 여부. 2. 접근제한자 (+) 변수, 메소드 등의 데이터로의 무분별한 접근(.통해 접근하는거) 막고 유지보수에 용이 1) public : 어디서나 접근 가능. 명시하지 않았으면 기본적으로 public 2) protected : 기본적으로는 동일한 클래스 내에서만 + 상속 받은 경우 접근가능 (최상위(open)클래스에는 불가능, 프로퍼티에는 가능?) 3) internal :.. 2024. 3. 6.