현직자 멘토링 F-Lab에서 멘티 및 수료생을 대상으로 이펙티브 코틀린 온/오프라인 스터디를 참여하였습니다.1주마다 각자 1장씩을 맡아서 브리핑하고 아젠다를 제시하면 그에 따라 다같이 토론 형태로 스터디를 진행합니다.먼저 1장에서 다루는 안정성에 대한 아젠다와 개인적으
2장까지 읽으면서 느낀점은 이 책에서는 굉장히 당연한 이야기들을 서술한듯한 느낌을 받는다.(반론의 여지가 딱히 없는?)사람에 따라서 가독성에 대한 관점이 다르다, 많은 개발에서 함수 이름을 어떻게 지어야 하는지, 어떤 것이 명시적이여야 하는지, 어떤 것이 암묵적이어야
3장 재사용성 Item 19 knowledge를 반복하여 사용하지 말라 "프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가가 잘못된 것이다." Don't Repeat Yourself(DRY) = WET 안티패턴 knowledge 프로그래밍에서 k
추상화는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려내는 것을 의미한다.조금 간단히 표현하면, 추상화는 복잡성을 숨기기 위해 사용되는 단순한 형식을 의미한다.ex. 인터페이스 → 클래스라는 복잡한 것에서 메서드와 프로퍼티만 추출해서 간단하게
객체를 만들어내는 방법을 추상화하는 방법으로 팩토리 함수가 있음. 코틀린은 팩토리 함수를 만들수 있는 다음과 같은 다양항 방법을 제공한다.Companion 객체 팩토리 함수확장 팩토리 함수톱레벨 팩토리 함수가짜 생성자팩토리 클래스의 메서드 코틀린에서는 객체를 생성할
컴포지션은 번거롭지만 일반적으로 상속을 사용하는 것보다 좋습니다. 리스코프 치환원칙을 만족하는 경우에만 상속을 사용해야 합니다. 상속은 다음 문제를 가지고 있습니다.클래스에만 적용할 수 있습니다.클래스의 모두를 재사용합니다.이해하기 어렵습니다.캡슐화를 망가뜨립니다.데
객체를 Wrap 하게 되면 3가지 비용이 발생한다.헤더 및 레퍼런스를 위한 추가 공간요소가 캡슐화 되어있다면, 접근을 위한 함수 호출 비용객체 생성을 위한 메모리 공간 할당 및 레퍼런스 생성 비용캐싱 기법을 활용해서 객체를 재활용하면 불필요한 객체 생성으로 인한 비용을
컬렉션은 프로그래밍에서 굉장히 중요한 개념이다.컬렉션 처리 최적화는 생각보다 어렵지만 굉장히 중요하다. 특시 백엔드 애플리케이션 개발, 데이터 분석 등의 영역에서는 컬렉션 처리 최적화만 잘해도 프로그램의 전체적인 성능이 향상된다.많은 사람이 Iterable과 Seque