1. 객체 생성자 함수

- 객체 구조를 선언하고 객체화 하는 방식

- new 연산자를 활용하여 구조체를 객체화

- 동일한 구조를 가지고 여러번 객체화를 해야 할 경우 사용

- 함수 내부에서 선언된 var, let 키워드는 지역변수(외부에서 접근 불가)

- 함수 내부에서 선언된 this 키워드 활용

1) 객체 생성자 함수 선언

- 파스칼 표기법으로 함수명을 지어준다.

- 일반 함수 선언과 동일하며, 내부에 this 키워드가 있다.

2) 객체 생성자 함수를 활용하여 필드 보호하기

3) 객체생성자 함수 실습

실습1. 학생의 정보를 담을 수 있는 객체 생성자 함수 선언하고 객체화를 시켜라

1. addStudent 메서드 실행시 학생 정보를 저장(학생나이, 학생명)

2. getStudent 메서드 실행시 저장된 학생 정보 전체 가지고 오기

3. 객체화된 외부에서는 학생정보가 담긴 필드는 접근이 불가해야한다.

실습2. 차가 3대가 있다. 3대의 이동거리를 누적 시킬 수 있는 객체 생성자 함수를 선언하고 객체화 시켜

각 차 3대를 이동 시키고 누적이동거리를 출력시켜라.

>>> 주석처리부분을 잘보자!!

>>> new를 선언해줄시 자동으로 객체화되어 객체로 변환된 후 출력된다.

>>> js에서는 따로 객체를 메서드를 생성하지않아도 사용자가 도트연산자를 통해서 호출할 시

자동으로 생성해준다.

75.객체 생성자 함수 상속(prototype)

- 객체 생성자 함수 원형에 메서드를 추가할 수 있다.

- 이미 객체화 된 대상에 메서드를 추가하지 않아도 prototype으로 추가된 메서드를 사용 할 수 있다.

- 이미 객체화된 대상에 확장

- prototype 사용시 메모리를 절약할 수 있다.

- prototype으로 추가된 내용은 객체화된 대상이 상속을 받는다.

1) prototype 예시

예시1)

예시2) 대표적인 prototype의 예시(push 메서드가 prototype으로 추가)

예시3) prototype으로 생성된 메서드의 this

예시4) 원형에는 데이터에 관련 필드나 메서드만 prototype 에는 기능에 관련된 메서드 실행

>>> indexOf 에서는 대입한 값에 해당하는 index번호를 반환하여 출력한다.

'javascript' 카테고리의 다른 글

쿠키(cookie)  (0) 2023.05.15
내장객체  (0) 2023.05.15
객체(메서드)  (0) 2023.05.15
내부함수(재귀함수), 콜백함수, 크로져  (0) 2023.05.15
함수(function)  (0) 2023.05.10

+ Recent posts