2020-05-29 TIL

Facts

  • 알고리즘 문제 자바스크립트로 배열 평균구하기, 하샤드수 문제를 풀었고, 기봉이형과 짝프로그래밍으로 짝수홀수, 문자열을 숫자로, 두 배열의 합 문제를 자바로 풀었다.
  • 객체지향의 사실과 오해 책을 105p까지 읽고 새로 알게된점이나 몰랐던 부분을 공유했다.

Feelings

  • 자바스크립트로 문제를 풀다가 자바를 풀게되니 정말 귀찮은 부분도 많고 모르는 부분도 많다는 것을 느꼈다.
  • 자바스크립트가 정말 편하고 좋은 언어구나 라는 것을 몸소 느꼈다.

Findings

  • 행동이 상태를 결정한다. 상태를 먼저 결정하고 행동을 나중에 결정하는 방법은 설계에 나쁜 영향을 끼친다. 이 장에서 가장 중요한 진실은 “행동이 상태를 결정한다” 이다.
  • 소프트웨어 특징 의인화는 현실의 객체보다 소프트웨어의 객체가 더 많은 일을 할 수 있다는 것이다. 소프트 웨어 객체를 창조할때 현실 객체를 모방하지 않는다. 소프트웨어 객체는 더 크고 새로운 세계를 창조하는 것이다.
  • 추상화는 다른 것 다 필요없이 목적에만 충실하는 것이다.

    1. 첫 번째 차원은 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것이다.
    2. 두 번째 차원은 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것이다.
  • 객체란 특정한 개념을 적용할 수 있는 구체적인 사물을 의미한다. 개념이 객체에 적용됐을 때 객체를 개념의 인스턴스라고 한다.
  • 심볼: 개념을 가리키는 간략한 이름이나 명칭
  • 내연: 개념의 완전한 정의를 나타내며 내연의 의미를 이용해 객체가 개념에 속하는지 여부를 확인할 수 있다.
  • 외연: 개념에 속하는 모든 객체의 집합
  • 타입은 개념과 동일하다. 따라서 타입이란 우리가 인식하고 있는 다양한 사물이나 객체에 적용할 수 있는 아이디어나 관념을 의미한다. 어떤 객체에 적용할 수 있을 때 그 객체를 타입 인스턴스라고 한다. 타입의 인스턴스는 타입을 구성하는 외연인 객체의 집합의 일원이 된다.

Future Action Plan

  • 자바에서 타입을 정하는게 정말 중요한 것 같다. 자바스크립트 같은 경우는 알아서 자동으로 타입을 잡아주는데 자바는 그렇지 않다. 내가 직접 타입을 설정해줘야 하고, 그에따라 잘못 설정했다면 오류가 발생한다. 아직 미숙해서 타입 오류가 많이 발생하는 것 같다. 앞으로는 타입 설정을 할때 생각보고 결정하는 습관을 길러야겠다.