코틀린 문법23 23. 코루틴을 통한 비동기 처리 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //비동기로 여러개의 루틴을 동시에 처리할 수 있는 방법 //여태까지 하나의 구문이 끝나면 다른 구문을 실행하는 식으로 //모든 구문을 '동기적'으로 실행함 //하지만 '여러개의 루틴'을 동시에 실행하여 결과를 내고 싶다면? //-->비동기처리를 지원하는 '코루틴(coroutine)' 사용 //코루틴이란? //메인이 되는 메인루틴과.. 2023. 6. 4. 22. 비트연산 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //비트연산이란? //정수형 변수를 사람이 사용하는 10진법으로 연산하는 대신 //2진법인 비트단위로 연산할 수 있는 기능 //실무에서 비트연산은 거의 계산에는 사용하지 않으며 //(2진법을 이용한 연산 최적화가 필요하다면 대부분 컴파일러 기능을 사용함) //정수형의 값을 비트단위로 나누어 데이터를 좀 더 작은 단위로 담아 //경제.. 2023. 6. 4. 21. 변수의 다양한 사용방법 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //변수에 대한 몇가지 주의할 내용과 좀 더 다른 방법으로 사용하는 법 알아보자 //var //var은 한번 할당한 객체가 있더라도 다른 객체로 변경하여 할당할 수 있으며 //ex. var a=Person("유나",2003) // a=Person("루다",1997) //val은 한번 객체를 할당하면 다시 할당된 객체를 변경할 수 는.. 2023. 6. 3. 20. 컬렉션함수(2) 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //나머지 컬렉션 함수 //좀 더 복잡한 기능들 // 2023. 6. 3. 19. 컬렉션함수(1) 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //여태까지 우리는 컬렉션을 for문으로 반복하여 포함된 아이템을 //하나하나 꺼내 사용했었다 //ex. for(item in collection) //하지만 코틀린은 '함수형 언어'의 특징을 가지고 있기 때문에 좀 더 //편리하게 컬렉션을 사용할 수 있다.-->'컬렉션 함수' //컬렉션함수 //:list나 set, map과 같은 .. 2023. 6. 3. 18. Set과 Map 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift+{/} //컬렉션 클래스에는 List, Set, Map 으로 총 세개의 클래스가 있다 //지난시간 list알아봤고 오늘은 Set과 Map에 대해 알아보자 //Set //set은 list와 달리 '순서가 정렬되지 않으며, 중복이 허용되지 않는 컬렉션' //따라서 set은 인덱스로 위치를 지정하여 객체를 참조할 수는 없으며 //contains.. 2023. 5. 31. 17. Data Class와 Enum Class 참조: 유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 단축키(맥북): 맥북 스크린샷 바로 클립보드에 붙여넣기 -control+command+shift+3 or 4(3은 전체화면, 4는 마우스로 지정한 영역, 4일때 스페이스바 누르면 창캡처가능) 화면에 분할해놓은 창끼리 이동 -command+' 한 창에서 탭끼리 이동 -command+shift //특별한 기능이나 형태를 가진 클래스들을 알아보자 //Data class //:데이터 다루는 데에 최적화된 class, '5가지 기능'을 내부적으로 자동생성함 // 5가지 // -equals():내용의 동일성을 판단 // -hashCode():객체의 내용에서 고유한 코드를 생성 // -toString():포함된 속성을 보기쉽게 나타냄 /.. 2023. 5. 14. 16. 중첩클래스와 내부클래스 참조:유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org 맥북 바로 클립보드에 스크린샷하기 단축키:control+command+shift+4 맥북 탭끼리 이동 단축키:command+shift+{/} //클래스 안에 클래스가 중첩되는 두가지 유형의 클래스 알아보자 //코틀린에서는 기본적으로 클래스 안에 클래스를 하나 더 넣을 수 있는 //중첩클래스(Nested Class)를 지원함 //ex. class Outer{ // class Nested{ // // } // } //중첩클래스는 하나의 클래스가 다른 클래스의 기능과 '강하게 연관'되어 있다는 //의미를 전달하기 위해 만들어진 형식으로, //사용할 때는 외부클래스이름.중첩클래스이름 형태로 사용하게 된다 //ex. Outer.Nest.. 2023. 5. 14. 15. 함수의 argument를 다루는 방법과 infix 함수 참조:유튜브 디모의 코틀린 코드테스트사이트:play.kotlinlang.org *맥북 탭 이동 단축키:command+shift+{/} //함수를 더 다양한 방법으로 사용할 수 있는 여러 기능들 알아보자 //overloading(overriding과 혼돈 유의) //:같은 scope안에서 같은 이름의 함수를 여러 개 만들 수 있는 기능 // 함수 이름이 같더라도 패러미터의 자료형이 다르거나 패러미터의 개수가 다르면 // 서로 다른 함수로 동작할 수 있음 // 다만, 패러미터의 이름만 다르게 붙고, 자료형과 개수가 동일하다면 // ex.fun same(x:Int, y:Int) // fun same(a:Int, b:Int) // 오버로딩을 할 수 없다! fun main(){ read(7) read("감사합니다.. 2023. 5. 14. 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. 이전 1 2 3 다음