TIL

200729 / IM > Day 8 : 3. Inheritance Patterns - OOP

Hanliang38 2020. 7. 29. 16:01

오늘 한 일

  • 코드스테이츠 객체지향프로그램에 대하여 공부
  • 클론책 훑어보기

오늘 배운 것 & 어려운 것

그 전에... codestates의 과제..!
OOP(Object Oriented Programming)가 무엇인지?   -   
JavaScript에서 Object를 생성하는 여러가지 방법들   -   
JavaScript에서 Prototype은 무엇이고 왜 사용해야 하는지?   -   

 

  • OOP란?(Object Oriented Programing)

    자세한 내용 링크 : OOP의 특징과 개념 & 객체지향 vs 절차지향
    • '객체지향프로그래밍'이라는 뜻이다.
    • 컴퓨터 프로그램 언어는 크게 3가지 타입이 있는데 Machine lang, Assembly lang, High-level lang 이 있다
    • OPP의 특징 및 장점
      • 캡슐화 (Encapsulation), 상속(Inheritation), 추상화(Abstraction), 다형성(Polymorphism)

 

  • JavaScript에서 Object를 생성하는 여러방법들

    자세한 내용 링크 : OOP의 특징과 개념 & 객체지향 vs 절차지향
    • Functional : 함수를 이용해서 그대로 찍어내는 방식
    • Functional Shared : 객체의 메소드들의 메모리 주소만을 참조, 효율이 높음
    • Prototypal :  Object.create를 이용해 프로토타입으로 하는 객체를 생성
      • Object.create
    • Pseudoclassical : 메소드를 프로토타입으로 만들어줌. 찍어낼 때는 new operator사용.

 

  • JavaScript의 Prototype은 무엇이며 왜 사용할까?

    자세한 내용 링크 : OOP의 특징과 개념 & 객체지향 vs 절차지향
    • Prototype : 다른객체, 부모객체 등을 참조할 수 있는 링크
    • 자바스크립트에서 객체를 생성하면 부모객체의 프로토 타입을 상속 받을 수 있다. (Prototype Chain)
    • 사용 이유 : 메모리 효율성을 위해, 코드가 훨씬 간결해지기 때문

 


<참고>

 

코드스테이츠 'URCLASS'

MDN : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/new


1일 1 IT영상 (정보, 느낌)

완전 쉽게 파이썬으로 텍스트 및 이미지 크롤링하기 | 수익형 웹, 앱 만들기 1강

크롤링(Crawling) : 인터넷의 정보중 우리가 원하는 정보만 자동으로 수집하는 기술 

     크롤링(Crawling) = 파싱(Parsing) = 스크래핑(Scraping) = 스파이더링 (Spidering)

     크롤링의 원리 : 정보를 가져오려는 사이트를 가져오기 -> 원하는 정보를 찾기 -> 정보를 가져오게 하는 코드 작성 

     크롤링 관련 라이브러리는 어느 언어에나 있어서 어떤 언어를 써도 무방하다. (여기서는 파이썬사용)

 

<텍스트 & 이미지크롤링>

1. 환경설정 : python개발환경 구축

2. 예제 무작정 따라하기 (위키피디아 크롤링 예제)

3. 다른작업에 응용하기 (네이버 실시간 검색순위 크롤링 하여 텍스트 저장)

4. 완전 쉬운 라이브러리 활용 (동물상 연예인 한방에 크롤링)


느낀 점

- 먼저 JavaScript가 Prototype에 적합한 언어라는 것을 알게 되었는데, 여러 설명들을 보면 흐지부지하게 설명이 되어 있어 정리하기가 어렵다고 느꼈다. 내일은 사용법에 대해 블로깅을 해봐야겠다.


내일 할 일

  • Prototype에 대한 이해 및 사용(prototype chain)
  • BeesBeesBees Sprint 진행
  • 영화앱 클론코딩 프로젝트 진행(1일 1커밋)