ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2022.05.01 기록장
    TIL 2022. 5. 1. 01:24

    ToDo

    • 코틀린 공부
    • 리액트 튜토리얼

    Done

    • 코틀린 공부

     

    Weekly goal

    • 코틀린 공부
    • 리액트 공부
    프로퍼티 vs 메소드
    - 프로퍼티는 필드(nullable) + 접근자 메소드(nullable)라고 볼 수 있음
    - 프로퍼티의 필드는 backing 필드라고 부르며 이 것이 없는 프로퍼티도 있을 수 있음
    - 단순히 매개변수가 없는 메소드 vs 프로퍼티 get 재정의는 가독성 차이만 있음
     enum when
    - when은 java의 switch 와 비슷함
    - 내부에 메소드를 인자로 삼을 수도 인자가 필요없을 수도 있음
     함수 선언
    - 매개변수에 명시자를 넣을 수 있음
    디폴트 매개변수
    - 디폴트로 매개변수를 넣으므로서 오버로딩 효과를 낸다
    java의 유틸 개념 메소드
    - 유틸 클래스를 생성하지 않고 최상위에 메소드 선언 가능
    상수 선언
    - const가 없으면 내부적으로 getter를 사용함. 프로퍼티이기에
    - const를 사용하면 public static final이 됨
    확장 함수
    - 수신 객체 클래스의 밖에서 선언된 함수
    - 말그대로 확장해서 사용한다
    - 단 해당 class를 임포트해야 사용 가능
    - java에서는 static 메소드로 취급
    확장 함수를 사용한 리팩토링
    - 항상 받아야 하는 collection을 확장 함수로 변경
     중위 함수와 구조 분해 선언
    - to는 중위 함수임. 1.to("d")와 같은 호출 -> pair라는 순서쌍 클래스를 반환함
    - in 도 중위 함수임
    프로퍼티 상속
    - 프로퍼티도 상속이 가능하다
    - 단 인터페이스는 백킹필드가 없으므로 상태를 가질 수 없다
    접근자 프로퍼티 숨기기
    - 값은 볼 수 있게 var로 간다. val도 볼 수 있지만 내부에서는 값을 변경하지 못하기에 이를 위해 var private set을 함께 쓴다
    불변성을 지키자
    - 불변성의 장점
    - 1. 객체를 키로 가지고 있을 경우 문제를 예방할 수 있음
    - 2. 다중 스레드 환경에서 동기화를 하지 않아도 됨
    - 3. 쉽게 프로그램 추론이 가능함
    - 4. 굳이 프로퍼티 변경을 해야한다면 copy를 하면됨
    by 키워드를 통한 데코레이터 패턴
    - 데코레이터 패턴을 사용 시 하나하나 재정의를 해줘야 하는 경우가 있었다면 by 키워드를 통해 countingSet이 대신 위임한다
    동반 객체 사용
    - 코틀린에는 정적 키워드인 static이 없음
    - 이를 위해 최상위 함수나 object를 사용할 수 있음
    - 하지만 최상위 함수는 private에 접근이 불가능함
    - 이때 companion이 유용함 -> private 생성자나 다른 곳에 접근 가능
    동반 객체 응용
    - 이름을 붙일 수 있다
    - 상속과 구현을 할 수 있다
    - 파라미터로 넘길 수 있다. 부모를 넘기면 동반 객체가 넘어간다

    'TIL' 카테고리의 다른 글

    2022.05.03 기록장  (0) 2022.05.03
    2022.05.02 기록장  (0) 2022.05.02
    2022.04.30 기록장  (0) 2022.04.29
    2021.02.24~ 03.13기록장  (0) 2022.02.27
    spring security oauth2 회원 탈퇴 (kakao, naver)  (0) 2022.02.24

    댓글

Designed by Tistory.