자바스크립트 리뷰
간단한 추상화 연습: 성적 데이터 관리 코드[혼공자 9-1-2]
가문비7
2023. 4. 5. 21:41
간단한 코드를 하나 연습해 본다. 학생들의 성적 데이터를 관리하는 프로그램이다.
학생들의 데이터는 배열에 들어가고, 그 배열은 1개당 학생 1인의 데이터가 들어간 객체들로 이뤄져 있다. 코드를 보자.
// 객체를 선언합니다.
const students = [] // 배열 생성
students.push({ 이름: '구름', 국어: 87, 영어: 98, 수학: 88, 과학: 90}) //push 메서드로 객체를 배열에 넣는다.
students.push({ 이름: '별이', 국어: 92, 영어: 98, 수학: 96, 과학: 88})
students.push({ 이름: '겨울', 국어: 76, 영어: 96, 수학: 94, 과학: 86})
students.push({ 이름: '바다', 국어: 98, 영어: 52, 수학: 98, 과학: 92})
// 출력합니다.
let output = '이름\t총점\t평균\n' //문자열 하나를 정의한다. \t는 띄어쓰기, \n은 줄바꿈임.
for (const s of students) {
const sum = s.국어 + s.영어 + s.수학 + s.과학
const average = sum / 4
output += `${s.이름}\t${sum}점\t${average}점\n` // output = output + `${s.이름}\t${sum}점\t${average}점\n`
}
console.log(output) //이 줄이 반복문의 바깥에 있기에 출력이 반복되지 않고 한번에 나온다.
// 궁금하면 이 줄을 반복문 안에 넣어볼 것.
이런 식으로 데이터를 처리하면 조금 더 효율적으로 관리할 수 있다. 현실의 객체에서 꼭 필요한 데이터만 추려서 객체를 표현하는 것을 추상화라고 한다. 구체화의 반대인 것 같다. 꼭 필요한 속성만으로 추상화해서 단순화하는 것이다.