[Kotlin] 코틀린 object 이 글은 Kotlin In Action을 참고 하였습니다.더욱 자세한 설명이나 예제는 직접 책을 구매하여 확인 하시기 바랍니다코틀린은 object란 키워드를 사용합니다.자바에는 이 키워드가 없죠.약간 생소할 수 도 있는 이 키워드는 java의 어떤 개념과 매칭되는지 알아봅니다. 4.4 object 키워드, 클래스의 선언과 인스턴스 생성코틀린에는 static 개념이 없습니다.사실 개념이 없다기 보단 static keyword가 없기 때문에 java의 static 개념을 코틀린에서 어떻게 표현해야 하는지를 중점적으로 살펴보겠습니다. 싱글턴을 정의하는 방법동반객체 companion object를 이용한 팩토리 메서드 구현무명클래스(익명 클래스)의 선언 위 세가지를 object란 keyword를 이용해서 표현합.. 개발이야기/Kotlin 7년 전
Java의 동기화 Synchronized 개념 정리#2 이번엔 singleton과 static 함수에서 synchronized가 어떻게 동작하는지 확인해 보겠습니다.Singleton 객체에서의 동기화singleton은 객체를 한개만 생성하여 사용하도록 합니다. 따라서 #1번 글에서 사용했던것과 예제나 개념은 크게 다르지 않습니다.public class Singleton { public ArrayList mList = new ArrayList(); private Singleton() { // } private static class Holder { public static final Singleton sHolderSingleton = new Singleton(); } public static Singleton getInstance() { return Holde.. 개발이야기/Java 7년 전
Java의 동기화 Synchronized 개념 정리#1 Java의 동기화 -Synchronized 키워드의 사용Java를 프로그래밍 하다면 multi-thread로 인하여 동기화를 제어해야하는 경우가 생깁니다.그래서 흔히 Synchronized 키워드를 사용하는데요그냥 multi-thread로 동시접근되는것을 막는다! 라는 개념보다는 여러 case를 살펴보면서 좀더 디테일하게 보려 합니다. Thread는 class의 멤버변수의 자원에 접근할 수 있습니다.이건 멤버변수가 Heap 메모리를 사용하기 때문에 가능한 부분인데 여하튼 여러 Thread가 공유자원에 접근하는 경우 동기화를 해 줘야 할 필요가 있습니다.사실 그밖에 동기화 해줘야 하는 이유들이야 많습니다. 추가적으로 synchronized 키워드 이외에 volatile을 사용할수 있고, Atomic 클래스.. 개발이야기/Java 7년 전
Java 8 Lambda Expression - 람다식 #4 Method ReferenceLambda의 마지막 입니다. 기존 람다식을 더 줄일 수 있는 Method reference에 대해서 설명합니다. 기본 형식은 아래와 같습니다.ClassName::Methodex) Person::getAgeperson class에 있는 getAge()함수의 레퍼런스를 표현으로 실제 실행하는것이 아니기 때문에 ()를 붙이지 않습니다.아래 예제를 보면 람다식이 method reference로 어떻게 표현되는지 감을 잡을 수 있습니다. (Person p) -> p.getAge() ==> Person::getAge() -> Thread.currentThread().dumpStack() ==> Thread.currentThread::dumpStack(str, i) -> str.subs.. 개발이야기/Java 8년 전