2020년을 돌아보며.. 2020 한해는 정말 다사다난하고 사회적으로도 일이 많은 해였다. 올해는 미루지 말아야지 하고 다짐했기에 두번째 회고를 써본다. 상반기 올해 초, 아니 정확히는 12월 말에 퇴사를 하고 1월 부터 이직 준비를 하려고 했으나... 그놈에 코로나가 터져서 꼼짝달싹 못하게 되었다. 계획했던 것들도 많이 틀어지고 이사도 미뤄지고 해서 2월이 되서야 겨우 수도권으로 이사했다. 집도 어느정도 정리될 무렵 슬슬 이직 준비를 시작했다. 올해 이직하면서 결심한것이 하나 있는데 지금 생각해보면 좀 우스운 목표다. "맥 사용하는 회사로 가야지" 정말 별다른 생각없이 이거 하나가 목표였다. 이력서 및 경력기술서를 정리하고, 어떤 회사를 갈지 고민해 보았는데 딱히 막 정말 미치도록 가고 싶다 라는 생각..
애노테이션 선언과 적용 코틀린 애노테이션도 자바 애노테이션과 개념은 동일하다. 메타 데이터를 선언에 추가할 경우 애노테이션을 처리하는 도구가 컴파일 또는 실행 시점에 적절한 처리를 수행한다. 애노테이션 적용 자바와 동일한 방법으로 애노테이션 사용이 가능하다. @Depreacted 애노테이션을 예로 살펴보면, 자바와 코틀린에서 의미는 동일하다. 하지만 코틀린에서는 replaceWith 파라메터를 통해 이전 버전을 대신할 패턴을 제시할 수 있다. /** * 코틀린의 @Deprecated 는 자바와 동일한 의미를 가진다. * 하지만 ReplaceWith 파라메터를 통해 이전 버전을 대신할 패턴을 제시할 수 있다. */ @Deprecated("Use removeAt(index) instead. ", Replac..
서론 실체화한 타입 파라미터를 사용하면, 런타임 시점에 이를 활용할 수 있다. - 일반 클래스 혹은 함수는 런타임 시점에 타입 정보가 사라진다. 선언 지점 변성을 사용하는경우 기저 타입은 동일하지만, 타입 인자가 다른 두 제네릭 타입의 상위/하위 타입 관계에 따라 상위/하위 타입 관계가 어떻게 되는지 지정이 가능해진다. 기저 타입이란 ? List 와 List 이 기반 - 파생 타입 관계로 보기 어렵기 때문에, 제네릭에서는 타입 파라미터를 제외한 부분을 기저 타입이라는 용어로 사용한다. List 에서 기저 타입은 List 이다. 제네릭 타입 파라미터 제네릭을 사용하면 타입 파라미터 (type parameter) 를 받는 타입을 정의할 수 있다. 제네릭 타입의 인스턴스를 생성하려면 , 타입 파라미터를 구체적..