Kotlin (4) 썸네일형 리스트형 제네릭 기본 class GenericNull{ fun EqualityFunc(arg1:T, arg2: T){ println(arg1?.equals(arg2)) } } fun main(args:Array){ val obj = GenericNull() obj.EqualityFunc("Hello","world") val obj2 = GenericNull() obj2.EqualityFunc(null, 10) //String 과 String?는 다르다 널이 가능하려면 String? 해야한다 //특정 자료형 제한시 이렇게 해야한다 } 코루틴 안녕하세요 william입니다! 오늘은 코루틴을 알아보겠습니다! 일단 핵심 언어 살펴볼께요 코루틴 이란? 현재 상황 현재 GlobalScope로 코루틴을 생성했습니다 코루틴 내에서 delay가 3초인 함수 두개를 설정한 상태입니다 타이머에 main 쓰레드가 찍힌후 6초 후 로그에서 2개의 로그가 동시에 찍힌게 보이시나요? delay를 3초를 했는데 왜 6초의 delay가 합쳐진것일까요? networkCallAnswer가 networkCallAnswer2에 영향을 끼치는걸까요? 네 맞습니다! 일단 코루틴에서는 한개의 쓰레드를 공유 한다는것에 집중해야합니다! 따라서 코루틴(한개의 쓰레드)에서 함수호출후 3초의 딜레이를 하고 또 3초의 딜레이를 한후에야 Log를 찍으로 넘어갈수 있는것이죠! 그렇다면 함수호출 .. 상속과 다형성 안녕하세요 윌리엄이예요~~ 오늘은 지난시간에 배운 주 생성자와 부생성자를 바탕으로 상속과 다형성에 대해 알아보겠습니다 상속이란? 흔히 자식이 부모에게 유산 받을때 "상속"이라는 말을 사용하죠? 클래스에서도 이와 동일하게 상속이라는 말이 존재합니다! 부모클래스에서 가지고있는 추상화된 속성 (프로퍼티,메소드)을 자식이 그대로 사용 할 수 있는 관계를 나타내죠 또한 자식은 부모의 속성에 추가적으로 속성을 추가 할 수있어요! 그럼 상속을 왜 사용할까요? 이유는 똑같은 작업을 반복적으로 안해도 되기 때문이예요 예를 들어 부모가 집을 사서 가족이 같이 산다면 자식은 굳이 집을 또 살필요가 없죠(학생이라면) 그냥 거기서 필요한 생활용품만 사면 되는것처럼 말이죠! 지금까지 상속에 대한 정의를 소개 했고 코틀린에서 상속.. 클래스의 개념과 생성자 객체 지향 프로그래밍 OOP (Object Oriented Programming)이란? 객체 지향 프로그래밍은 실제 세계와 비슷하게 복잡한 객체간 상호작용 관계를 표현하고 이를 통해 확장과 재사용이 용이한 프로그래밍입니다. 현재까지도 여러 언어에 도입되어 가장 활발하게 사용되는 기법이기도 합니다 또한 함수형(functional programming) ->FP 도 적용됩니다!객체 지향 기법으로 프로그램을 설계할 때는 다음과 같은 개념을 알아 두어야 합니다. 객체 지향에 사용되는 개념 추상화(abstraction): 특정 클래스를 만들 때 기본 형식을 규정하는 방법(개념화) ->추상화의 예 ) 1.엔진으로 움직이는것 2.운전석이 있는것 3.달릴수있는것 등등 인스턴스(instance): 클래스로부터 구체화 시.. 이전 1 다음