2022-04-07(TIL)

황인호·2022년 6월 7일
0

TIL 모음

목록 보기
19/119

오늘 해야할일

  1. 클래스에 대해 다시한번 강의듣고 개념정리하기 [완료]
  2. 팀 과제 작성하기 (데이터 추상화) [완료]
  3. Jest 개인과제 복습하기 [3번 완료]
  4. 알고리즘 기존에 풀었던 문제 다시보기 4문제 [2문제 완료]
  5. 인프런을통해 Node.js 강의듣기
  6. 코어 자바스크립트 책 읽기 20p
  7. 운동 [팔굽혀펴기 30개 / 스쿼트 40개 / 턱걸이 7개

① 클래스에 대한 내용

  • 클래스(Class)선언

객체를 만들때 마치 설계도처럼 사용하는 것이 바로 클래스입니다.

그래서 흔히들 클래스는 템플릿이고 객체는 이를 구체화한 것이라고 합니다.

우리가 함수를 정의하고 해당 함수를 필요할 때 계속 사용할수 있는데요

마찬가지로 클래스를 미리 정의해놓으면 필요할 때마다 그 클래스를 사용해서 동일한

모양을 가진 객체를 만들 수 있습니다.

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 강의 내용

profile
성장중인 백엔드 개발자!!

0개의 댓글