230315_TIL (객체 지향 프로그래밍)

PYM·2023년 3월 15일
0

Today I Learned

목록 보기
4/20
post-thumbnail

썸네일은... 어제 갈려다가 현장 대기 마감이라서 못가고 눈물흘린 용산역 아이파크몰 슈슈룬 카페... 4월 30일 마감이니까 그 전에 무조건 한번 더 간다🥲 바깥에서 슬쩍 봐도 너무 예뻤다...

🌱오늘 한 것

  • 객체 지향 프로그래밍에 대해 공부했다.

    • 클로저 모듈 패턴, 클래스와 인스턴스
  • 프로토타입에 대해 공부했다.

  • 프로토타입과 인스턴스, 클래스가 어떤 관계인지 공부했다.


🌱기억해야할 것

  • 똑같은 기능을 하는 객체를 여러개 만들기 위해 클로저를 사용하자.

  • 자바스크립트의 최신 문법인 ES6에서는 클래스를 prototype 사용하지 않고 생성자 함수와 함께 class 키워드 안쪽에 묶어서 정의한다!

  • 객체 지향 프로그래밍(OOP)의 4가지 기본 개념(Basic Concepts)

      1. 캡슐화(Encapsulation): 복잡성을 낮추고 재사용성을 높여준다.
      1. 추상화(Abstraction): 코드의 복잡성을 낮추고, 사용을 단순화 해, 변화에 대한 영향을 최소화
      1. 상속(Inheritance): 불필요한 코드를 줄여 재사용성을 높인다.
      1. 다형성(Polymorpism): 동일 메서드에 대해 조건문 대신 객체의 특성에 맞게 달리 작성하는 것이 가능
  • Java나 TypeScript는 클래스 내부에서만 쓰이는 속성 및 메서드를 구분시키기 위해 private이라는 키워드를 제공한다. 이는 은닉화를 도와 줌.

  • JavaScript에서는 은닉화를 돕기 위해서 일반적으로 클로저 모듈 패턴을 사용. 클래스/인스턴스 형태로 만들 때에는 ES2019부터 #이라는 키워드가 도입 됨.


🌱더 알아볼 것

  • TypeScript에 대해 가볍게 읽어보기

  • 은닉화를 위해 클로저 모듈 패턴 사용한 예시 더 찾아보기!


🌱한 줄 감상

아직 클로저의 개념이 엄청나게 와닿지 않는다🥹... 정리해둔 클로저 관련 블로그 글을 좀 더 자주 열심히 읽어서 명확히 하자! 10번찍어서 안넘어오는 클로저 없다 (?)

profile
목표는 "함께 일하고 싶은, 함께 일해서 좋은" Front-end 개발자

0개의 댓글