
객체 지향 Javascript
(Object Oriented Javascript)

function Car(brand, name, coloe) {
// 인스턴스가 만들어질 때 실행되는 코드
}
class Car() {
construcor(brand, name, coloe){
// 인스턴스가 만들어질 때 실행되는 코드
}
}
new 키워드를 통해 클래스의 인스턴스를 만들어낼 수 있다.

속성과 메소드
클래스에 속성과 메소드를 정의하고, 인스턴스에서 이용한다.

클래스 : 속성의 정의


클래스 : 메소드의 정의


인스턴스에서의 사용
클래스에 new 로 인스턴스를 만들어 속성을 정의하고,,, 등등을 하며 사용할 수 있다.

prototype? costructor? this?

한줄 요약

실전 예제 - 배열(과 비슷)


매개 변수
매개 변수 복습

만일, 전달인자(arguments)의 길이가 유동적이라면?
Math.max(3, 5, 7, 10); // 10
Math.max(3, 5, 7, 10, 20); // 20
Math.min(3, 5, 7, 10, 100, 1000); // 3


전달인자(arguments)의 길이가 유동적이라면 (뭐가 들어올지, 몇개가 들어올지 모른다면)
-> Rest Parameter를 이용해 매개변수를 지정해 준다.
매개변수가 배열의 형태로 전달된다.(함수에 전달할 때만)
아래 예시의 경우, 'return nums.' 에서 nums 은 [1, 2, 3] 이런 식으로 배열로 받는다.




수업과는 별개로 혼자 공부한 내용
let test = 12345;
test = test.toString();
console.log(test); // '12345'
2/ array 를 문자열로 반환해 주기도 한다
let arr = [1, 2, 3, 4, 5]
arr.toString(); // '1, 2, 3, 4, 5'
3/ Value vs Reference / OOP / Rest Parameter
문제 풀이에 대한 예시. 복습할 때 참고하기
let x = {foo:3};
let y = x; //y가 x의 메모리 주소를 가리킴
x = {foo:1}; // x에 새 obj를 할당하며 새 메모리 주소로 이동
// x와 y의 주소지가 달라짐
console.log(y); // y는 아직 이전 메모리 주소를 가리킴 // {foo:3}
let x = {foo:1};
let y = x;
x.foo = 2; //메모리 주소에 들어있는 값 수정
//x와 y의 주소지는 여전히 같음
console.log(y); // {foo:2}
4/ ... : rest parameter. spread syntax 라고 부름
요소를 가지고 오는 것이지, arr 를 통으로 들고오는 것은 아님
예시 참조.
arr1 = [1, 2, 3];
arr2 = [4, 5, 6];
newArr = [...arr1, ...arr2] = [1, 2, 3, 4, 5, 6];
5/ 터미널에서 'code test.js' 이런식으로 입력하면 vs code 에서 열림
6/ 터미널 명령어 몇가지
xdg-open : 현재 위치에서 GUI 열기
sudo apt remove git : local 환경에서 git 지우기
sudo apt install git : local 환경에 git 설치
git log--oneline--graph : 기록을 그래프로 보여줌 (Q 가 빠져나오기)
git init : git repository 새로 만들기. 새폴더를 만들고 아무것도 없는 상태에서 이 명령어를 입력하면 새 git 이 만들어 짐. 우리는 보통 github 에서 clone 함
7/