개인공부/TIL(Today I Learned) 95

TIL 40일차_ 객체지향프로그래밍(OOP)

객체지향 프로그래밍이란??지금까지 수업을 들으면서 '결국 모든 것은 객체이다'라는 말을 몇번은 들은 것 같다. 그때마다 나는 '???? 객체는 {a: 1} 이런 형태아닌가? 왜 다 객체라고하지'라는 생각을 했는데 오늘 조금은 무슨말인지 알것 같기도하다.첫번째는 상속의관점에서 자바스크립트의 유일한 생성자는 객체뿐이다. 배열의 프로토타입은 Array를 가리키고, 이 Array의 프로토타입은 결국 Object를 가리킨다.두번쨰는 객체지향프로그래밍에서 '객체는 모든 사물이라고도 할 수 있다.'라는 약간은 추상적인 개념을 포함하는 것이다. 내앞의 노트북도 하나의 객체이고, 책상, 침대, 나자신도 하나의 객체가 될 수 있다. 각각의 객체는 속성과 행동을 갖고 있다.각각의 사람들은 하나의 독립적인 객체이지만 모두 인..

TIL 39일차_모듈과 CommonJS

모듈?? 개발하는 애플리케이션의 크기가 커지면 언젠가 파일을 여러 개로 분리해야하는 시점이 온다.(라고한다.) 이때 분리된 파일 각각을 모듈이라고 부르는데, 모듈은 대개 클래스 하나 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성된다. CommonJS CommonJS는 이러한 모듈을 관리하기 위한 모듈시스템 중 하나이다. 그러나 모듈시스템은 2015년에 표준으로 등재되면서 대부분의 주요 브라우저와 Node.js는 모듈시스템을 지원하고 있다.(export와 import) 하지만 아직 많은 회사들과 스크립트에서 CommonJS를 사용하고 있기때문에 우린 알아두어야한다.😱 모듈 사용하기 우리는 필요한 모듈을 npm install명령어를 사용하여 npm저장소에서 다운받아 node_modul..

TIL 38일차_package.json

package.json은 뭐야 그동안 과제를 하다보면 보이는 package.json이 정확히 무엇인지 알았다.🙃 package.json에는 프로젝트(패키지) 전반에 관한 정보가 들어있다. node.js에서 남이 만들어 놓은 모듈을 npm모듈이라고 하며, npm모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일이 package.json이다. 간단하게, 전자제품을 보러 갔을 때, 제품 카탈로그가 package.json이라고 할 수 있다. 카탈로그로 어떤 제품이 있는지 알 수 있는 것처럼 package.json만 보면 어떤 모듈이 들어가 있는지를 알 수 있다. 그럼 package.json을 보고 뭘 해야하지? 주의할 점은, package.json은 어떤 모듈인지만 적혀 있을 뿐이고 프로그램을 실행시키기 ..

TIL 37일차_CLASS

CLASS ? 클래스는 연관있는 데이터들을 한데 묶어 놓는 컨테이너라고 말할 수 있다. 또한 클래스는 속성(fields, data)과 행동(methods)로 구성되어 있는데, methods없이 fields,data만 갖고있는 클래스들을 data class라고 한다. 클래스를 틀이라고도 설명하는데, 붕어빵을 예로들면, 붕어빵틀(클래스)에 팥(데이터)를 넣으면 팥붕어빵(오브젝트, 정확히는 인스턴스)가 생성된다. 이처럼 클래스에 데이터를 넣으면 오브젝트가 되는데, 이렇게 오브젝트가 메모리에 올라가는 것을 인스턴스화 되었다고하고 이 오브젝트를 인스턴스라고 한다. class Person { constructor(name,age){ //fields this.name = name; this.age = age; } /..

TIL 36일차_Github

solo week때 곰곰이 내 공부 흔적들을 살펴보니, Github에 너무 소홀했다는 생각이 들어 최근 알고리즘이나 스플린트 과제를 보완해서 커밋중이었는데 마침 Github을 사용한 협업 스플린트가 진행되어 기분이 좋다.😃 Git commit은 기능별로, 메세지는 친절하게 쓰자 Git commit은 기능이나 스타일 등, 서로 겹치지 않게 하나를 끝내면 바로바로 commit하는 게 좋다. commit message는 바로 어떠한 커밋인지 알 수 있도록 친절하게 작성하자. 아래와 같이 앞에 commit 종류를 붙여 분류해주면 좋다. [INITIAL] — repository를 생성하고 최초에 파일을 업로드 할 때 [ADD] — 신규 파일 추가 [UPDATE] — 코드 변경이 일어날때 [REFACTOR] — 코..

TIL 35일차_new연산자와 생성자 함수

개발을 하다 보면 유사한 객체를 여러 개 만들어야 할 때가 생기곤 한다. (라고한다.) 예를들어 복수의 사용자, 메뉴 내 다양한 아이템을 객체로 표현하는 경우가 그렇다. 이런 경우 유용한 것이 바로 new연산자와 생성자 함수이다. About 생성자 함수 생성자 함수와 일반함수에 기술적인 차이는 없다. 다만 생성자 함수는 다음 두 관례를 따른다. 함수 이름은 일반명사로 짓는다. 함수 이름의 첫 글자는 대문자로 시작한다. 반드시 new연산자를 붙여 실행한다. function User(name) { // this = {}; (빈 객체가 암시적으로 만들어짐) // 새로운 프로퍼티를 this에 추가함 this.name = name; this.isAdmin = false; this.sayHi = function()..