목록분류 전체보기 (348)
Jieunny의 블로그
📣 상속을 이용해서 클래스 구현하기 ✔️ 계층 구조 📣 super, extends 란? ✔️ super() : 부모 클래스의 함수를 호출할 때 사용한다. this 키워드가 사용되기 전에 호출되어야 한다. -> 안그러면 참조오류 발생 ✔️ extends() : 클래스를 다른 클래스의 자식으로 만들 때 사용한다. class 기반으로 상속을 받는 것처럼 보이지만, JS는 prototype 기반의 언어이기 때문에 내부적으로는 prototype chain을 통해 상속이 이루어진다. 📣 코드 1️⃣ Grub.js class Grub { constructor(){ this.age = 0; this.color = 'pink'; this.food = 'jelly'; } eat() { return `Mmmmmmmmm ${..
보호되어 있는 글입니다.
➰ 30일차 30일! 딱 한달 되는 날 벌써 한달이라니 시간 참 빠르다 오늘부터 9-10시에 데일리 코딩이라고 코테 비슷한 거 하는데 이런 알고리즘에 약한 나에게 유익한 시간이다. 억지로라도 푸니까 ㅎㅎ... 오늘은 하루종일 자습이라 개념 공부하고, 블로깅하고.. 남는 시간엔 코테 공부했다. 의사 코드 쓰는 습관 들이려고 열심히 쓰려고하는데 맨날 까먹고 냅다 코딩부터 해서 계속 신경 써야겠다 책 온거 읽고 싶은데 남은 시간 다 코테 준비 하다보니 언제 읽어야할지..🥺 오늘 스터디 제의 받았는데 아직 고민이다. 도움이 될거 같긴 한데 매주 발표하고 참여할 체력이 있을까..? 그래도 힘들어도 해보는게 좋을 거 같아서 참여하는 쪽으로 생각하고 있다. 책 보니까 생각보다 js를 깊이 있게 다루고있어서 겉핥기 식..
📌 JS는 프로토타입 기반의 언어이다. 📣 프로토타입 ✔️ 원형이라는 뜻 (객체의 원형, 즉 객체의 부모) ✔️ 객체는 프로퍼티를 가질 수 있는데, 프로토타입 이라는 프로퍼티는 객체가 생성될 때 프로토타입에 저장된 속성들이 그 객체에 연결된다. ✔️ 모든 객체는 프로토타입에 접근할 수 있다. 📣 프로토타입과 클래스 class Human { constructor(name, age) { this.name = name; this.age = age; } sleep() { console.log(`${this.name}은 잠에 들었습니다`); } } let kimcoding = new Human('김코딩', 30); // 실습해보세요 Human.prototype.constructor === Human; // tru..
📣 객체 지향 프로그래밍 절차적 언어 객체 지향 언어 초기의 프로그래밍 언어 C, 포트란 등 현대의 언어들 Java, C++, C# 등 - 순차적인 명령의 조합 (기껏해야 함수로 이동하는 것이 전부) - 클래스라고 부르는 데이터 모델의 청사진을 사용해 코드 작성 - 데이터와 기능을 한번에 묶어서 처리 가능 ✔️ JS 는 엄밀히 객체 지향 언어는 아니지만 객체 지향 패턴으로 작성할 수 있다. 📣 OOP : 프로그램 설계 철학 1️⃣ Encapsulation (캡슐화) ➰ 데이터(속성)와 기능(메서드)을 하나의 단위로 묶는 것 (하나의 객체 안에 넣어서 묶는 것) ➰ 은닉 : 구현은 숨기고, 동작은 노출시키는 것 ➰ 느슨한 결합 : 데이터와 기능들이 느슨하게 결합되는 것 코드 실행 순서에 따라 절차적으로 코..
📣 클로저 모듈 패턴 더보기 ✔️ 메서드 호출 : 객체.메서드() ✔️ 클로저를 이용해 매번 새로운 객체 생성하기 function makeCounter() { let value = 0; return { increase: function() { value++; }, decrease: function() { value--; }, getValue: function() { return value; } } } let counter1 = makeCounter() counter1.increase() counter1.getValue() // 1 let counter2 = makeCounter() counter2.decrease() counter2.decrease() counter2.getValue() // -2 ➰ 클..