Kotlin & Java

    생성자보다 정적 팩터리 메서드를 고려해보자

    최근 NEXTSTEP 에서 주관하는 TDD, 클린코드 with Kotlin 5기 과정을 들으면서 어떻게 인스 턴스를 생성할지의 대한 고민을 많이 했다. 리뷰어들 마다의 생각도 다르고 각각의 상황도 달라 최대한 다양한 방법을 사용해보려고 노력했던 것 같다 😊 생성자 대신 팩토리 함수를 사용하라 생성자의 주된 임무는 제공된 인자를 사용해서 캡슐화된 프로퍼티를 초기화하는 것이다. 메서드의 수가 많을 수록 단일 책임 원칙 (SRP) 을 위반하지만 생성자의 수가 많아질 수록 클라이언트가 클래스를 더 유연하게 사용할 수 있다. 인스턴스를 만드는 방법중에는 팩토리 함수를 사용하는 방법도 존재한다. 이펙티브 코틀린, 이펙티브 자바에서는 생성자 대신 팩토리 함수를 사용하라 라고 말하고 있다. 관련해서 책에서 말하고 있는..

    # c++과 Java의 닮은 점과 차이점은 무엇일까?

    면접에서 가장 많이 나오는 빈도 높은 질문은 단연 이 질문이 아닐까 싶다.... 객체지향, 절차지향과 같은 단순한 점들만 알고 있었는데 좀 더 자세하고 구체적인 것들을 나열해 보겠다. - Java는 typedef, enum, defined 또는 preprocessor를 지원하지 않는다. - Java는 클래스를 지원하지만 구조체와 유니온은 지원하지 않는다. - 모든 c++ 프로그램은 main 함수가 필요하다. - 모든 자바 클래스는 Object 클래스를 상속해야 합니다. - Java에서 선언하는 모든 함수 혹은 메소드는 클래스 선언 내에 포함된다. - C++과 Java 모두 클래스의 객체를 인스턴스화 하지 않아도 호출할 수 있는 클래스 메소드나 함수를 지원한다. - Java에서 'interface' 키워드..

    Kotlin 설치 및 실습 환경 구축하기

    - 자바 JDK 설치하기 OpenJDK인 Zulu를 설치한다. 코틀린은 JDK SE 9 까지 지원하지만 안정적인 동작을 위해 Zulu의 JDK SE 8을 설치한다. 1. https://www.zul.com/downloads/zulu/ 링크에서 msi 파일을 다운로드 한다. 불러오는 중입니다... 2. 다운로드한 설치파일 zulu8.xx.msi를 실행하면 설치가 진행된다. 이때 next 버튼을 한번 눌러 나오는 화면에서 JDK가 설치되는 경로를 꼭 확인한다. 만약 JDK를 설치한 적이 있다면 이전 버전을 삭제하고 진행한다. 3. 윈도우 운영체제의 경우 윈도우 환경 변수인 PATH에 JDK가 설치된 위치를 등록해야 한다. 4. JAVA_HOME에 Zulu 경로를 등록하고 path에 %JAVA_HOME%\bi..

    안드로이드 apk 파일 만들기

    1) 안드로이드 폰 개발자 옵션 설정 2) 개발환경 바꾸기. 3) 해상도 바꾸기 - 1280X720 4) 5) Edit > Project Settings.. > Player 6) 세로모드로 고정하기