🤔클래스의 인스턴스 생성과정 new 연산자와 함께 클래스를 호출하면 생성자 함수와 마찬가지로 [[Construct]]가 호출된다. 인스턴스 생성과 this 바인딩 constructor 코드가 실행되기 앞서 빈 객체가 생성된다. 이 객체가 인스턴스이다. 인스턴스의 프로토타입으로 클래스의 prototype이 설정된다. 인스턴스에 this가 바인딩된다. 인스턴스 초기화 constructor가 인수로 받은 초기화 값을 인스턴스 프로퍼티 값으로 초기화 한다. constructor가 생략되었다면, 이 과정 역시 생략된다. 인스턴스 반환 암묵적으로 this가 반환된다. 🤨클래스의 프로퍼티 인스턴스 프로퍼티 constructor 내부에서 정의한다 접근 제한자 없이는 항상 public값으로 가진다. 접근자 프로퍼티 자체..
🤔클래스와 생성자 함수 JS는 프로토타입기반 객체지향 언어. 클래스가 필요없는 객체지향 언어이다. JS는 클래스 말고 생성자 함수를 이용하여 객체를 생성하고, 프로토타입을 통해 상속 구현이 가능하다. 하지만 클래스 기반 언어에 익숙한 프로그래머들의 장벽으로 EX6클래스가 도입되었다. 클래스와 생성자함수가 모두 인스턴스를 제공하지만, 동일하게 작동하지는 않는다 생성자 함수와 다른 클래스의 특징? 클래스는 new연산자 없이 사용한다. 상속을 지원하는 extend, super 키워드를 제공한다. 클래스는 함수 객체이지만, 변수 호이스팅과 같이 클래스 정의 이전에는 참조할 수 없다. (TDZ에도 빠질 수 있다). 클래스는 암묵적으로 strict mode를 사용한다. 메서드 모두 [[Enumerable]]값이 f..
1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 😉문제 설명 이 문제는 이름 그대로 최소 신장 트리 문제입니다. 최소 신장 트리는 모든 노드를 최소한의 가중치로 모든 간선을 연결 한 것을 말합니다. 문제를 풀기위해서 크루스칼 알고리즘을 사용합니다! 😎문제 풀이 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const [V, E] =..
클론 코딩을 하는 와중, flex:1이란 코드를 발견하였습니다. 이 코드로 인해서 요소가 딱 원하는 너비를 가지게 되었는데, 도대체 왜 이런 현상이 나타나는 건지 짚고 넘어 가보려 합니다! 🤔”flex : 1”이 뭐지? flex : 1 속성은 flex-grow, flex-shrink, flex-basis의 단축 속성으로 flex : “grow” “shrink” “basis” 순서를 따릅니다. ‘flex-grow” 속성이 생략되면 기본값은 0, ‘flex-shrink 속의 기본값은 1, ‘flex-basis’의 기본값은 auto입니다. flex : 1 의 값은 shrink, basis 속성값이 생략된 것으로 다음과 같습니다. flex-grow : 1; flex-shrink : 1; flex-basis : ..
객체지향 프로그래밍과 절차지향 프로그래밍의 차이를 알기위해 먼저 객체지향이 무엇인지, 절차지향이 무엇인지에 대해 알아봅시다. 🤔객체지향 프로그래밍(OOP, Object-Oriented Programming)이란? 소프트웨어 개발 패러다임 중 하나로, 객체(Object)와 그 객체들 간의 상호작용을 모델링하여 프로그램을 구성하는 방법론입니다. 코드 재사용성과 유지보수성을 향상시키는 등의 장점을 가지고 있어 현대적인 프로그래밍 언어들에 널리 사용되고 있습니다. 😀객체지향 프로그래밍의 특징 클래스와 객체 클래스는 객체를 만들기 위한 템플릿으로 객체를 정의하는 프로퍼티와 메서드의 집합입니다. 객체는 클래스로 만들어진 인스턴스로 실제 메모리에 할당된 데이터를 가지고 있습니다. 캡슐화 캡슐화는 클래스의 세부사항을 ..
저에겐 API라는게 개발 공부를 하면서 많이 사용하고, 들어본 것이지만 설명해보라 한다면 어떻게 설명해야 될지 잘 모르겠는 그런 개념 입니다. 그래서 이번에는 API가 무엇인지 정확하게 알고, RESTful API에 대해서 알아보도록 합시다! 🤔API란 무엇일까? API는 정의 및 프로토콜 집합을 사용하여, 두 소프트웨어 구성 요소가 통신할 수 있게 하는 메커니즘 입니다. Application Programming Interface의 줄임말 입니다. 이는 고유한 기능을 가진 소프트웨어(Application)사이의 상호 서비스 계약(Interface)라고 할 수 있습니다. 🤔REST API? 오늘날 웹에서 가장 많이 사용되고 유연한 API REST (Representational State Transfer..