오늘 해야할일
① 클래스에 대한 내용
객체를 만들때 마치 설계도처럼 사용하는 것이 바로 클래스입니다.
그래서 흔히들 클래스는 템플릿이고 객체는 이를 구체화한 것이라고 합니다.
우리가 함수를 정의하고 해당 함수를 필요할 때 계속 사용할수 있는데요
마찬가지로 클래스를 미리 정의해놓으면 필요할 때마다 그 클래스를 사용해서 동일한
모양을 가진 객체를 만들 수 있습니다.
1) class키워드와 클래스명
class는 클래스를 선언하는 문구이고 그 뒤에 바로 클래스명이 나옵니다.
클래스명도 마치 변수명처럼 내가 표현하고자 하는 데이터를 잘 나타낼수 있는 이름이면 좋다.
2) 생성자 (constructor)
중괄호 안에는 생성자라는 것을 적어줍니다.
생성자는 말 그대로 나중에 객체가 생성이 될 때 자바스크립트 내부에서 호출이 되는 함수라고 생각해 주시면 됩니다.
생성자는 말 그대로 나중에 객체가 생성이 될 때 자바스크립트 내부에서 호출이 되는 함수라고 생각해주시면 됩니다.
3) this와 속성(property)
생성자의 바디를 보면 this라는 키워드라 등장합니다.
이 this는 클래스를 사용해 만들어질 객체 자기 자신을 의미하고 this 뒤에 붙는 ex) name,price,company는 객체의 속성입니다.
생성자의 바디에서는 함수 호출시 전달할 매개변수 name,price,company를 객체의 속성
name,price,company에 각각 할당하고 있는 것입니다.
② 팀과제 작성하기
추상화란 무엇인가?
⇒ 추상의 사전적인 의미 (추(뽑을 추) 상(코끼리 상))을 사용해서 그 뜻은
“여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용”
구체적인 정보들은 숨기고 꼭 필요한 핵심만 뽑아 내서 표현하는 방식을 추상화(Abstraction)
우리의 일상생활중 “많은글들을 함축적으로 나타낸 제목”,”몇시간 동안 펼쳐지는 내용을 짧게 요약한 영화의 줄거리” 목적에 맞게 꼭 필요한 핵심만 표현한다.
즉, 추상화는 “복잡한 것들을 목적에 맞게 단순화하는 것!”
그러기 위해서는 목적을 명확히 하고 , 불필요한것들은 숨기고 , 핵심만 드러내야함
③ Jest 과제 복습하기
④ 알고리즘 문제풀이(복습 및 상기)
프로그래머스2번문제
https://programmers.co.kr/learn/courses/30/lessons/12937
function solution(num) {
answer = 0;
if (num % 2 === 0) {
return "Even"
}else {
return "Odd"
}
}
다풀고 나도 놀랐다 ㅎㅎㅎㅎ;;;
분명히 3주전에는 끙끙대면서 못풀었는데...너무 쉽게 풀었다....
솔직히 복습차원이라지만 기억안나고 헤멜줄알았는데....ㅎㅎㅎ;;;
프로그래머스3번문제
https://programmers.co.kr/learn/courses/30/lessons/12903
function solution(s) {
answer = '';
for (let i = 0; i < s.length; i++) {
if (s.length % 2 !== 0) {
answer = s[(s.length-1)/2]
}else {
answer = s[s.length / 2 - 1] + s[s.length / 2]
}
return answer;
}
아....뭔지몰라서 못풀었는데...풀어보니까 왠지 허무하다....
좀만 더 생각했으면 충분히 풀수있는 문제였는데...아쉽다.....
프로그래머스4번문제
⑤ 인프런 Node.js 강의 내용