[Javasciprt] (ES6) Class μ€κ³νκΈ°
μλ°λ‘ ν΄λμ€λ₯Ό μ€κ³νλ μΌμ λ§μ§λ§ μλ°μ€ν¬λ¦½νΈλ‘ ν΄λμ€ μ€κ³λ μμ£Ό μ νκ² λλ€.
κ·Έλ¬λ ES6λ‘μ€λ©΄μ ν΄λμ€ μ€κ³κ° μ’ λ κ°λ μ±μκ³ λͺ νν΄μ‘λ€.
μλ°μ€ν¬λ¦½νΈ λν κ°λ ₯ν κ°μ²΄ μ§ν₯ν μΈμ΄μ΄κΈ° λλ¬Έμ ν΄λμ€ μ€κ³νμ¬ μ¬μ©νκ² λλ©΄ μ‘°κΈ λ λμ μ½λλ₯Ό λ§λ€ μ μλ€.
κ°λ¨νκ² λ μ§ ν΄λμ€λ₯Ό λ§λ€μ΄μ ν΄λμ€μ κΈ°λ³ΈμΈ μμ±μ, Getter, Setter, Method, Static λ±μ μμ보λλ‘ νκ² λ€.
date.js
class Date {
// μμ±μ
constructor(year, month, day) {
this.year = year;
this.month = month;
this.day = day;
}
// Getter, Setterλ λ³μ μ κ·Όκ³Ό κ°μ λ°©μμΌλ‘ μ¬μ©λλ€.
// Getter λ©μλ
get getYear() {
return this.year;
}
// Setter λ©μλ
set setYear(year) {
this.year = year;
}
// λ©μλ
getDate() {
return `${this.year}-${this.month}-${this.day}`;
}
// Static λ©μλ
static staticMethod() {
return 'Static Method';
}
}
// κ°μ²΄ μμ±
const date = new Date('2019', '12', '05');
// λ©μλ νΈμΆ
console.log(date.getDate()); // 2019-12-05
// Setter νΈμΆ
date.year = '2018';
// Getter νΈμΆ
console.log(date.year); // 2018
// λ©μλ νΈμΆ
console.log(date.getDate()); // 2018-12-05
// Static λ©μλ νΈμΆ
console.log(Date.staticMethod()); // Static Method
μ΄μ κ°μ΄ κ°λ¨νκ² ν΄λμ€ μ€κ³λ₯Ό ν΄λ³΄μμ§λ§ ν΄λμ€ μ€κ³μ νμν λλΆλΆμ κΈ°λ₯μ ꡬνν μ μλ€.
μ¬κΈ°μ ꡬννμ§ μμμ§λ§ μμ ν΄λμ€ λν ꡬνν μ μλ€.
λ€λ₯Έ κΈ μ½μ΄λ³΄κΈ° β¬οΈ
StringStringBufferStringBuilder