Apple is Apple

일일 회고

 

오늘은 수정작업 위주로 진행하였다.

 

튜터님께 선발대 과제에 대해서 궁금했던 점을 물어보고, 피드백을 받아 과제를 수정해보는 시간을 가졌다.

 

그리고 개인과제도 약간의 디자인 구조 수정을 하였다.

 

오늘은 약간 쉬엄쉬엄 진행한 것 같다.


오늘의 키워드

  • 알고리즘
  • 궁금증 해결
  • Parcelable

알고리즘

 

[programmers] [Kotlin] 과일 장수

문제 설명 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은

aaapple.tistory.com

궁금증 해결

 

1. Fragment에서 context를 가져오는 다양한 방법

  1. onAttach시 context를 가져오기

  2. requireContext() 메서드를 가져오기

  3. requireActivity() 메서드를 가져오기

 

--> 사실상 차이점은 없다고 답변을 받았다. 단, 사용할 떄에는 사용성에 맞는 것을 가져와서 사용하면 된다고 하였다.

만약, 액티비티에 있는 것만 사용하고 싶은데 requireContext()로 전체의 Context를 가져와 사용하는것은 좋은 방법은 아니라고 하셨다. 액티비티에 있는 것만 사용하고 싶으면 requireActivity()를 가져와 사용을 하면 될 것 같다.

사용성을 명확하게하여 가져오는 것이라고 이해할 수 있었다.

 

2. backing field 사용 

외부에 있는 프로퍼티를 가져오고 싶을 때, 외부에서 backing field나 getter 메서드를 정의해서 가져올 수 있는데

backing field를 사용하서 프로퍼티의 get() 을 통해 가져오는 것이 나은 방법이라고 하셨다.

코틀린에서는 프로퍼티에서 get()을 통해 getter를 바로 만들 수 있는데, 굳이 getter 메서드를 정의 할 이유는 없기 때문이다.

 

++  그리고 공통으로 사용 될 만한 것이 있을 때,  외부에 있는 것을 가져오는 것은 좋은 방법은 아니라고 하였다.

왜냐하면, 만약 공통으로 사용되던게 다른 곳으로 가거나 없어져버린다면? 결국 외부에서도 사용을 못하기에 확장성이 있는 코드 작성법은 아니라고 하였다. 그래서 필요한 곳에서 새로 정의하는 것으로 하는 것을 추천해주셨다. 

Parcelable - Serializable

 

Serializable - Parcelable

앱을 개발하다보면 액티비티, 프래그먼트 이동 시에 각각에 데이터를 전달해야하는 경우가 있다. 보통 putExtra를 통해 값을 한 개씩 넣는데, 넣을 값이 많아지면 굉장히 불편해진다. 이것을 방지

aaapple.tistory.com

 

profile

Apple is Apple

@mjjjjjj