반응형
- DAO
- 클래스와. 클래스의 배열은 밖에 있었다.
- 배열을 클래스로 만든게. DAO라고 한다.
- 현재 실무에서 사용하는것은 DAO이다.
- DAO
- DAO란
- 클래스가 2개가 있는 것이다.
- 1번째 개별 클래스
- 개별 데이터
- 변수를 만들고. 아직까지는 주석이다.
- setData(num, name, kor, math) { //클래스 안에 함수이다. . 메소드이다.
this.num = num; //클래스 안에 있는 함수에서 변수를 사용할때. this를 사용한다.
this.name = name;
this.kor = kor;
this.math = math;
};- 클래스 안에 있는 함수에서 변수를 사용할때에는 this를 사용한다.
- 위의 것은 변수를 생성한 것
- printData(){ //클래스 안에 넣을려고 함수를 사용하는것
// 클래스 안에서 출력을 하고 싶어서. 함수를 쓰고 출력을 하는것
document.write(this.num + ", " + this.name + ", " + this.kor + ", " + this.math + "<br/>");
}- 출력을 하고 싶을때에도
- 함수를 만들고 그 안에서 출력을 하는 것이다.
- 2번째. 전체 배열 클래스
- 클래스들을 담는 배열을 클래스로 만든 것을 DAO라고 한다.
- class StudentDAO{ //배열을 가지고 있는 클래스
// 위데이터의 배열을 가지고있다.
studentList = []; //핵심은 이것이다. //DAO//배열을 클래스로 만든것
printList(){ //전체출력. 편리하다.
for(let i = 0; i < this.studentList.length; i++){
//나머지것들을 사용할때는 this.로 사용한다.
this.studentList[i].printData();
}
}
insertData(data){ //새로운 데이터 추가
this.studentList.push(data);
}
deleteData(index){ //데이터 삭제.
this.studentList.splice(index , 1);
}
}- 클래스를 만든다.
- 전체 배열 만들기
- 출력하기
- 반복문 돌려서
- 새로운 데이터 추가하기
- 데이터 삭제하기
- 클래스를 만든다.
- let studentDAO = new StudentDAO(); // new해야지 생긴다. 클래스가 생긴다 dao
// 밑의 것들은. 데이터를 추가한 상황이다.
// 현재 전체배열을 새로 만들고 아직 데이터가 없는 상황
// 그래서 밑에서. 데이터를 빈 배열에 넣는 상황.
let st1 = new Student();
st1.setData(1001 , '김철수' , 20 , 40); //빈배열에 데이터를 넣은것
studentDAO.insertData(st1); //전체배열에 넣은것 .
//studentDAO.studentList.push(st1);
st1 = new Student();
st1.setData(1002 , '이민정' , 10 , 60);
studentDAO.insertData(st1);
st1 = new Student();
st1.setData(1003 , '조주연' , 80 , 10);
studentDAO.insertData(st1);
st1 = new Student();
st1.setData(1004 , '송민정' , 50 , 40);
studentDAO.insertData(st1);
// 밑의 식 때문에. 전체배열에서 함수가 작동하는 것 .
studentDAO.printList();
document.write("<hr/>");
//데이터를 한개 지운것 | 지울때에도. 전체배열에서 함수를 이용헤서 지우는것
studentDAO.deleteData(2);
// 지운 데이터를 나머지것들을 출력하라
studentDAO.printList();- new를 해야지 클래스가 생긴다.
- 데이터를 만들고
- 데이터를 클래스 전체배열에 넣는다.
- studentDAO.printList(); 을 사용해서. 클래스에 있는 함수가 작동하는 것


- 문제


- 처음에
- 개별 배열 클래스 만들기
- 전체 배열 클래스 만들기
- arr 배열 데이터 넣고
- 여기서 중요!!!
- patientDAO = new PatientDAO();
- 1개가 만들어 진다.
- new를 한것.
- // 사용할려고 new한것이다.
// 1개의 new 이고
// arr배열을 담을것. 가지고 있는거
//class PatientDA | 빈거 한개 만들고
//이걸 사용해야지 전체 배열 클래스가 생긴다.
// dao 1개 필요
// 클래스가 7개가 필요.
- // 사용할려고 new한것이다.
- 반복문 돌리기 !!! 이게 중요하다.
- 개별 데이터를 => 개별 클래스에 반복문을 통해서 넣는것
- new를 만든다.
- let patient = new Patient();
- 7개를 만들수 있다. 반복문을 통해서 7개가 되는 것이다.
- 클래스에서 벗어나도. 클래스 안에 함수를 적었기에.
- patient.setData => 즉 이것으로 함수를 찾을 수 있다.
- 개별 데이터를 개별 클래스에 넣기 위해서. 이 함수를 적은것




반응형
'코딩 > 1-JavaScript' 카테고리의 다른 글
| C01변수 => C0101시간 ~ C0103방정식응용 (1) (0) | 2025.04.22 |
|---|---|
| B06스태틱 => B0601_스태틱 - B0602_스태틱전체적용 (0) | 2025.04.04 |
| B05클래스와함수 => B0501클래스와함수 (0) | 2025.04.04 |
| B0406함수매개변수차이 => B0406개념01_함수와변수 (0) | 2025.04.03 |
| B0404함수이차배열 ~ B0405함수객체 (0) | 2025.04.03 |