반응형 전체 글91 객체지향의 사실과 오해 - 2장 이상한 나라의 객체 아래 내용은 조영호 님의 "객체지향의 사실과 오해"를 읽고 공부한 내용을 개인적으로 정리하였습니다. 2장. 이상한 나라의 객체 📕 Section 1 - 인간의 인지 능력 인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. ⇒ 많은 이들이 객체지향을 직관적이고 이해하기 쉬운 패러다임이라고 말하는 이유 👉 어떻게 보면 인간은 무언가를 구별 짓는 거에 특화되어 있다는 생각이 들었다. 의미가 없거나 추상적이더라도 구별해야 할 필요성이 느낀다면 어떻게 든 구별할 수 있는 무언가 장치를 마련한다는 느낌? 📕 Section 2 - 소프트웨어 세계에서 객체 하지만 소프트웨어 세계에서의 객체는 일반적으로 현실에서의 객체와는 다르다. ⇒ 현실 세계를 기반으로 새로운 세계를 창조해야 한다. (예시) .. 2022. 3. 26. 객체지향의 사실과 오해 - 1장 협력하는 객체들의 공동체 아래 내용은 조영호 님의 "객체지향의 사실과 오해"를 읽고 공부한 내용을 개인적으로 정리하였습니다. 1장. 협력하는 객체들의 공동체 📕 Section 1 객체 지향의 목표는 실세계의 모방이 아니라 새로운 세계를 창조하는 것이다. 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. 👉 실세계에서 일어나는 모든 일들을 객체로 대체하기에는 한계가 있기에 모방이 아닌 창조를 한다고 말하는 것 같았다. 📕 Section 2 객체 지향에서 가장 중요한 3가지 개념 : 역할, 협력, 책임 각각의 객체에는 역할과 책임이 주어진다. 그리고 그 객체들 사이에서는 협력을 통해 움직인다. 협력은 응답과 요청으로 구성.. 2022. 3. 21. [Android] 빌드 시에 No cached version available for offline mode 에러 해결방법 옛날에 진행되었던 프로젝트를 수정해야 할 일이 있어서 빌드를 하는데 다음과 같은 오류가 나왔다. (일부만 가져왔다.) > No cached version of com.android.tools.build:gradle:4.1.0 available for offline mode > No cached version of com.android.tools.build:gradle:4.1.0 available for offline mode . . . > No cached version of ... available for offline mode 1시간 동안 다시 빌드도 해보고, 스튜디오도 꺼보고, 다시 Clone도 받아보고 했는데 해결하지를 못했다. 그러다가 공통적으로 No cached version available.. 2022. 3. 17. [Android] ListAdapter에서 submitList()가 동작하지 않는 이유 우리는 ListAdapter를 통해 효과적으로 RecyclerView의 데이터를 갱신할 수 있다. 그리고 새로운 데이터를 갱신할 때 submitList() 이용한다. 하지만 분명 데이터는 변경이 되었지만 실제적으로 RecyclerView에 갱신이 안 되는 경우가 있다. 그 이유는 submitList()를 보면 알 수 있다. Why? submitList()를 타고 가다보면 다음과 같은 코드가 있다. (AsynListDiffer.java 안에 submitList 함수) if (newList == mList) { // nothing to do (Note - still had to inc generation, since may have ongoing work) if (commitCallback != null) .. 2022. 3. 10. [Android] DI(Dependency Injection)란? 예전부터 객체지향 프로그래밍에서는 DI를 잘 사용해야 한다는 말을 들어서인지 이번에 진행하는 새로운 프로젝트에 적용해보고 싶어서 정리를 하게 되었다. 기본에 충실하고자 이번 포스팅은 안드로이드 공식 홈페이지의 내용 + α를 바탕으로 작성하였다. DI(Dependency Injection)란? DI는 Dependency Injection의 줄임말이다. 한국말로 하면 의존성 주입이라고 한다. DI의 정의는 하나의 객체가 다른 객체의 의존성을 제공하는 기술 특정 객체가 다른 객체를 필요로 할 때 외부에서 해당 객체를 생성해서 필요한 객체에게 넘겨주는 것을 의미한다. 이를 통해 프로그램의 결합도를 낮출 수 있다. DI를 통해 개발자가 얻는 이점은 다음과 같다고 한다. 코드 재사용성 - 종속 항목 객체 변경이 쉬.. 2022. 2. 24. [Android] ViewModel 에서 Activity, Fragment 데이터 공유하기 토이 프로젝트를 진행하면서 Android Navigation을 사용했는데 하나의 Activity에 여러 개의 Fragment가 종속되다 보니 데이터를 같이 공유할 필요가 있어서 방법을 찾아보았다. 찾아보니 ViewModel을 통해 Activity와 Fragment 간에 데이터 공유가 가능하다고 하여 적용을 해보았다. 📄 MainActivity.kt class MainActivity : AppCompatActivity() { private val foodViewModel : FoodViewModel by viewModels() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVie.. 2022. 2. 16. 이전 1 2 3 4 5 6 7 8 ··· 16 다음 반응형