본문 바로가기

분류 전체보기134

14. null값을 처리하는 방법, 동일한지 확인하는 방법 참조:유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org //nullable 변수에서 Null을 처리하는 법, 변수간 동일성 확인하는 법 알아보자 //복습 //:코틀린에서 nullable 변수 만들어 객체가 들어있지 않은 null 상태를 //만들 수 있다. // ex.var sample:String?=null //하지만 null상태로 속성이나 함수를 쓰려고 하면 //null pointer exception(null인 객체를 참조하면 발생하는 오류)가 //발생하기 때문에 nullable 변수를 사용할 때는 null check가 없이는 //코드가 컴파일 되지 않는다 // ex.if(sample!=null) // println(sample.toUpperCase()) //하지만 null c.. 2023. 5. 14.
13. 문자열을 다루는 법 참조: 유튜브 디모의 코틀린 코드테스트 사이트:play.kotlinlang.org //코틀린에서 문자열을 다루는 여러가지 방법 //복습 //:코틀린에서는 'String'이라는 클래스로 문자열을 다루며 // val text="문자열"처럼 쌍따옴표 사이에 문자열을 넣어 리터럴을 만들며 // 새 String 객체가 생성됨 //String클래스와 관련한 여러 속성과 함수 중 자주쓰이는 것들을 알아보자~ // fun main(){ val test1 = "Test.Kotlin.String" //테스트용 문자열 //오늘 실습은 대소문자에 유의!! //문자열길이 println(test1.length)//length라는 속성에 Int값으로 들어있음 println(test1.toLowerCase())//소문자로 변환 pr.. 2023. 5. 11.
12. 리스트 참조:유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org *J,K,L로도 방향키의 역할을 할 수 있음 //리스트(List) //:데이터를 코드에서 지정한 순서대로 저장함 // 데이터를 모아 관리하는 Collection클래스를 상속받는 // 서브클래스들(List,Set,Map)중에서 가장 단순한 형태로, // 여러개의 데이터를 원하는 순서로 넣어 관리하는 형태 // List, MutableList 두종류의 리스트 있다. // mutable(변할 수 있는) // List: 생성시에 넣은 객체를 대체,추가,삭제 할 수 없음 // MutableList: 생성시에 넣은 객체를 대체,추가,삭제가 가능함 //리스트를 만들 때는 전용 함수인 // listOf(1,2,3)나 mutableListOf.. 2023. 5. 11.
11. 제너릭 코드테스트 사이트: play.kotlinlang.org 참조: 유튜브 디모의 코틀린 *맥북 탭끼리 이동 단축키:command+shift+{ , command+shift+} //Generic:클래스나 함수에서 사용하는 자료형을 외부에서 지정할 수 있는 기능 //제너릭이란 어떤 기능? //예를 들어, 클래스 A와 이를 상속받은 클래스 B가 있을 때, //이 두클래스의 인스턴스를, 공용으로 사용하는 하나의함수에 패러미터로 받으려면? // ex.fun castingExam(var a:A) ->B를 넣어도 자동A로 캐스팅됨 // ->두 클래스 모두 함수의 ₩ㅌ패러미터로 사용할 수 있음!(?) //but, 캐스팅 연산을 거치는 것은 프로그램의 속도를 저하시킬 수 있음! //sol)제너릭! //제너릭이란? 함수나 클.. 2023. 5. 11.
10. 클래스의 다형성 코드테스트 사이트: play.kotlinlang.org 참조:유튜브 디모의 코틀린 *맥북에서 스크린샷을 클립보드에 바로 복사하는 법 :컨트롤을 누른 상태로 스크린샷 단축키를 누른다 //복습:클래스의 상속을 통해 클래스를 '확장'할 수 있다. //예를 들어, 콜라를 콜라 뿐만 아니라 '음료'라는 특성으로도 볼 수 있게 하는 게 //'다형성'의 개념이다.(?) //'음료'클래스와, 음료클래스를 상속받은 '콜라'클래스가 있을 때 //콜라클래스의 인스턴스를 만들면 //상속관계에 있는 수퍼클래스인 '음료'의 내용을 담는 공간에 //'콜라'의 내용을 담는 '추가공간'이 생성된다 //(흠... 그럼 콜라 클래스가 음료클래스에 포함관계인건가?아닌것같은데..) //이렇게 만들어진 콜라의 인스턴스는 음료를 담는 변수에 저.. 2023. 5. 4.
9. 상속, 오버라이딩과 추상화 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 상속 fun main() { //상속 //필요한 경우 //1.이미 존재하는 클래스를 확장하여 새로운 속성이나 새로운 클래스 만들기 //2.여러개의 클래스 만들었는데 클래스끼리 공통점 뽑아 코드관리 용이하게 //속성,함수 물려주면 수퍼클래스, 물려받으면 서브클래스 //애완동물 관리하는 클래스 만들어보기 var a = Animal("별이",5,"개")//animal 클래스에 속성 다 기입함 var b = Dog("별이",5)//dog 클래스에 종 빼고 속성 기입함 //->둘다 같은 속성과 기능을 갖게 됨 a.introduce()//자기소개함수 호출 b.introduce() //a인스턴스와 b인스턴스의 함수호출결과가 동일함 } o.. 2023. 4. 30.
8. 클래스, 생성자, 보조생성자 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 클래스의 기본구조 fun main() { //클래스:'값'과 그 값을 사용하는 '기능'들을 묶어놓은 것. //속성(고유의 특징값)과, 함수(기능의 구현)으로 이루어져 있음 var a = Person("박보영",1990) //변수선언,할당연산자 적은 후 클래스 이름 적은 뒤 //클래스 선언시 적은 순서대로 괄호안에 객체 속성 기입 var b = Person("전정국",1997) var c = Person("장원영",2004) //이 인스턴스를 담은 변수를 어떻게 사용?? //변수명.(참조연산자 점)속성명(참조하려는 속성의 이름) println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.") //자주사용.. 2023. 4. 30.
7. 조건문과 비교연산자, 흐름제어와 논리연산자 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 조건문과 비교연산자 fun main(){ //조건문,비교연산자 var a =11 //조건문 테스트 위해 변수 만들고 정수 대입 if(a > 10) { println("a는 10보다 크다.") //조건문 하나면 중괄호 생략 가능 } else{ println("a는 10보다 작거나 같다.") //거짓일 경우의 조건문 } a is int //자료형 맞는지 체크하는 연산자 a !is int //자료형 틀린지 체크 //when //다중비교문, 하나의 변수를 여러 개의 값과 비교 가능, //다른 언어의 switch문을 개편 fun doWhen (a:Any){ //Any자료형:어떤 자료형이든 호환되는 코틀린 최상위 자료형! when(a).. 2023. 4. 30.
6. 형변환과 배열, 타입추론과 함수 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 fun main(){ // 형변환 // 형변환함수 // toByte() // toInt() 등 var a:Int = 123 //var b:Long = a //코틀린에서는 할당만 해서는 변환되지 않음 var b:Long = a.toLong() //형변환 위해서는 형변환 함수 필요! // int형 변수의 toLong() 함수를 호출하여 Long 값으로 변환된 값을 // 반환받아 Long변수에 할당해줘야한다 (명시적 형변환,변환될 자료형을 // 개발자가 직접 지정), 다른언어들이 지원하는 암시적형변환(변수할당시 // 자료형 지정 안해도 자동 형변환)을 지원하지 않음 ​ // 배열 : 변수이름 저장하고 arrayOf 함수 통해 배열.. 2023. 4. 30.
5. 변수와 자료형-코틀린 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 클래스 이름은 파스칼 표기법:모든 단어를 대문자로 시작 ClassName처럼 함수나 변수 이름은 카멜 표기법:첫단어만 소문자 functionName처럼 변수 선언하는 걸 권장! ​ 구문 끝에 ;(세미콜론)안붙임! ​ 주석 // 쓰거나 /*여러줄 *주석 *달기*/ ​ /** * You can edit, run, and share this code. * play.kotlinlang.org */ fun main() { println("Hello, world!!!") //끝에 세미콜론 안붙음 /*여러줄주석 * 쓸 수 있음 */ var //일반적으로 통용되는 변수, 언제든 읽기쓰기 가능 val //선언시에만 초기화 가능, 중간에 값 .. 2023. 4. 30.