클래스(Class)
학교에서 다양한 종류의 책상을 만드는 설계도 이 설계도를 보면 어떤 종류의 책상을 만들 수 있는지, 책상이 가지고 있는 특징(이 특징은 변수-또는 속성과 메서드)은 무엇인지 알 수 있습니다.
인스턴스(Instance)
이 설계도를 보고 만들어진 실제 책상이라고 생각해볼 수 있습니다. 책상의 모양, 크기, 색상, 재료 등은 모두 설계도에 따라 만들어지며, 이러한 책상들은 모두 다른 인스턴스가 됩니다. 클래스를 바탕으로 만들어진 실제 객체.
class Person {
// constructor는 이름을 변경할 수 없어요.
constructor(name, age) {
// new라는 키워드를 이용해서 인스턴스를 만들 때, 기본적으로 넣어야 하는 값들
// 여기서 말하는 this는 **만들어질 인스턴스**를 의미한다고 생각해주세요!
this.name = name;
this.age = age;
}
// 다양한 메소드를 정의
// 여기서 this.name으로 내부 값 접근
sayHello() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
const person1 = new Person("Alice", 30);
const person2 = new Person("Bob", 25);
// 만든 객체를 토대로 메서드 호출해보기
person1.sayHello(); // 출력: "Hello, my name is Alice and I am 30 years old."
person2.sayHello(); // 출력: "Hello, my name is Bob and I am 25 years old."
위 코드에서 Person Class는 name과 age 속성을 가지고 있으며, sayHello 메소드를 정의
new 키워드를 사용하여 Person Class의 인스턴스를 생성하고, sayHello 메소드를 호출
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
let solution = n => { let str = `${n}`; let strs = str.split(''); let sum = strs.reduce((pre, val) => pre + parseInt(val),0); return sum; }자꾸 에러가 나서 왜 그런가 했는데 초기값 0을 지정해주지 않아서 그런 거였다...