devlog of ShinJe Kim

[TIL] 2019-10-17

|

Today I Learned

  • 코틀린에서 !의 의미는? (출처: stackoverflow - single exclamation mark in kotlin)
    • 코틀린에서 !(느낌표 하나)로 끝나는 타입이나 클래스는 플랫폼 타입(Platform Typed) 이라고 한다. 이는 널 정보를 포함하고 있지 않은 이전의 자바 코드와 호환되는 것을 사용할 때 볼 수 있다.

    • 플랫폼 타입을 어떻게 다룰 수 있을까? 플랫폼 타입을 nullable하게도 할 수 있고 non-null로도 할 수 있다. 컴파일러는 이러한 타입의 모든 메소드를 허용할 것이며, 이를 어떻게 사용하는지는 온전히 개발자의 몫이다. 만약 해당 값이 null일 것이 예상되면, 메소드를 호출하기 전에 null 검증을 해야한다. 만약 null이 아닐 것이라는 것이 확실하면 바로 쓰면 되지만, 이 가정이 잘못되었을 경우 자바에서는 예외가 발생할것이다.

  • 프로세스끼리는 서로 독립되어 있어서 둘이 데이터를 교환하기 위해서는 IPC라는 것이 필요함
  • 프로세스 안에 스레드가 있는 것처럼 프래그먼트는 액티비티의 context안에 존재함
  • fragment ktx 라이브러리를 사용해서 fragement replace하는 보일러플레이트를 없앨것
  • 객체 생성의 책임이 어디에 있느냐에 따라 사용할 수 있는 방법이 달라짐
    • 프레임워크가 생성하도록 할 때에는 액티비티 넘길 때 객체가 아닌 클래스(객체의 틀)를 넘기는것처럼 넘김. 이러면 데이터를 전달 할 때 번들 같은 것을 써서 넘겨야 함.
    • 내가 직접 생성하면 해당 객체 안에 직접 데이터를 넣을 수 있음.

TODO

  • FragmentTransaction 속성 다 공부해서 정리하기
  • 프래그먼트 속성 정리 문서만 정리하지 말고 샘플 만들어보기.
  • context, layoutmanager, viewtype 정리!!

Comments