Deperecated 120

코틀린 - 제네릭

1. 개념 - 매개 변수나 반환 타입을 유동적으로 할 때 사용하는 개념. fun main(args : Array) { // 객체 생성할 때 전달해주는 타입으로 타입이 정해짐. var t1 = TestClass1() t1.testmethod1("문자열1"); var t2 = TestClass1(); t2.testmethod1(100); var t3 = TestClass2("초기화"); t3.test("문자열"); println(t3.value1); var t4 = TestClass3() t4.test2(100, "안녕"); } class TestClass1 { fun testmethod1(a1 : T) { println("a1:" + a1); } } // 생성자를 이용해서 타입 결정 class TestCl..

Deperecated/Kotlin 2020.02.05

코틀린 - 클래스

1. Init 블록 - 통하지 않고도 init {} 이라는 블록을 통해 클래스가 생성되자마자 자동으로 처리해야할 코드를 만들 수 있다. class TestClass1 { Init() { println("지금 실행되었다!"); } } 2. 생성자 - Class 선언 시 뒤에 constructor을 붙여서 만들거나, 추가 생성자를 만들 수 있다. - 코틀린의 생성자의 의미는 클래스 생성 시 매개변수를 받아 멤버변수의 값을 초기화하는 의미 이다. - 추가 생성자는 반드시 뒤에 this를 붙여서 기본 생성자를 초기화(?) 시켜줘야한다. fun main(args : Array) { var t1 = TestClass1(10, 400); println(t1.a1); } //기본 생성자 class TestClass1 ..

Deperecated/Kotlin 2020.02.05

코틀린 - 조건문, 분기문, 반복문

1. 조건문 코틀린에서 추가된 것 = in 연산자와 범위 연산자로 조건식 간략하게 만들기 1-1. in 연산자& .. 연산자(범위) 변수 이름 in 시작값..마지막값 else if ( score >= 80.0 && score 4 ,5 -> else -> } when(a2) { 33.33 -> 55.55 -> } when(a3) { "문자열" -> "문자열 2" -> "문자열 3", "문자열 4" -> else -> } when(a4) { in 1..3 -> in 4..6 -> !in 1..6 -> else -> } when(a5) { is String -> is Boolean -> } 4. when절로 함수의 매개변수의 초기화를 할 수도 있다. var a7 = f1(1) var a8 = f1(2); va..

Deperecated/Kotlin 2020.02.05

코틀린 - 고차함수와 람다식(기본 3에 이어서..)

1. Lamda(람다식) 이름이 없는 함수를 표현하기 위해 등장한 람다식 표현은 함수형 프로그래밍에서 매우 중요한 부분. 람다식은 많은 코드들을 간략화 하고, 함수 자체를 인자나 매개변수로 이용할 수 있다. fun 함수명(매개변수 명 : () -> 반환타입) { } fun main(args : Array) { f1( a1 = { println("함수가 호출되었다")} ) f2(a2 = { x: Int, y: Int -> println("f2가 전달한 함수가 호출되었다"); println(x); println(y); }); f3(a1 = {x:Int, y:Int -> x+y; }) } fun f1( a1 : () -> Unit) { a1(); } fun f2( a2 : (Int, Int) -> Unit) ..

Deperecated/Kotlin 2020.02.05

코틀린 - 기본

0. Do it 코틀린 0-1) 코틀린의 막강 장점 - 기존 언어엔 없는 널검사 코루틴 고차함수 람다식 -> 안정성 bb - 함수형 프로그래밍 - made by jet brains which makes IntelliJ IDEA - 멀티플랫폼 ( Kotlin/ JVM,JS,NATIVE ) 1. 자바앱, 안드로이드앱 2. 디비+서버+클라 -> 풀스택 웹개발 3. LLVM 컴파일러로 IOS, ANDROID, EMBEDDED, IOT, LINUX 타깃의 앱 0-2) 코틀린의 장점 1. 정적언어 - 프로그램이 컴파일될 때 자료형을 확정하는 정적언어. -> 자료형 오류를 미리 예방 가능 2. NPE 예방 가능 - Null Pointer Exception. 변수나 객체의 초기화가 이루어지지 않은 상태에서 그 변수에 ..

Deperecated/Kotlin 2020.02.05

JAVA - 멀티 쓰레드

1. 프로세스 운영체제에서 실행중인 하나의 애플리케이션. 사용자가 앱을 실행하면 운영체제로 부터 실행에 필요한 메모리를 할당 받아 앱의 코드를 실행하는데, 이를 프로세스라 한다. 2. 쓰레드 한 가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어놓았다는 뜻. 3. 멀티쓰레드 한 프로세스 내에 스레드가 두 개 이상인 것. 하나의 프로세스 내부에 생성되기 때문에 하나의 스레드가 예외를 발생시키면 프로세스 자체가 종료될 수 있다. 예외처리에 신경써야 한다. 4. 멀티쓰레드의 사용처 대용량 데이터의 처리 시간을 줄이기 위해 데이터를 분할해 병렬로 처리하는 곳 UI를 갖고있는 애플리케이션에서 네트워크 통신을 하기위해 다수의 클라이언트의 요청을 기다리는 서버 개발 5. 작업 쓰레드 생성과 실행 메인 작..

Deperecated/JAVA 2020.01.17