객체지향 프로그래밍
클래스와 인스턴스
mellomello.made
2022. 5. 25. 12:43
객체 지향 프로그래밍
데이터와 기능을 한곳에 묶어서 처리한다.(절차 지향 프로그래밍과의 차이점)
- 클래스
- 청사진은 클래스(class)라고 부른다.
- 클래스는 보통 대문자로 시작하며 일반명사로 만든다.
- 인스턴스
- 청사진을 바탕으로 한 객체는 인스턴스 객체(instance object), 줄여서 인스턴스(instance)라고 부른다.
- 인스턴스는 new 키워드를 써서 만든다.
- new 키워드
- 인스턴스를 만들 때에는 new 키워드를 사용한다.
- 즉시 생성자 함수가 실행되며, 변수에 클래스의 설계를 가진 새로운 객체, 즉 인스턴스가 할당된다.
- 생성자 함수
- 인스턴스가 초기화될 때 실행하는 생성자함수
- ES5 클래스 작성 문법
객체 지향 프로그래밍
데이터와 기능을 한곳에 묶어서 처리한다.(절차 지향 프로그래밍과는 차이점)
객체= 속성 + 메서드
자바스크립트 내장 타입인 object
(이하, object literal)와는 다르게, 클래스(Class)라는 이름으로 부른다.
클로저 모듈 패턴
객체 지향 프로그래밍
데이터와 기능을 한곳에 묶어서 처리한다.(절차 지향 프로그래밍과는 차이점)
객체= 속성 + 메서드
자바스크립트 내장 타입인 object
(이하, object literal)와는 다르게, 클래스(Class)라는 이름으로 부른다.
클로저 모듈 패턴
function Car(brand, name, color){
//인스턴스가 만들어질 때 실행되는 코드
this.brand = brand;
this.name = name;
this.color = color;
}
//ES5는 prototype이라는 키워드를 사용해야 메서드를 정의할 수 있다.
Car.prototype.refuel = function(){
}
Car.prototype.drive = function(){
}
let avante = new Car('hyundai','avante','black');
avante.color;
avante.drive();
- ES6 클래스 작성 문법
class Car {
//parameter로 넘어온 브랜드, 이름, 색상 등은 인스턴스 생성 시 지정하는 값
constructor (brand, name, color){
//constructor는 생성자 함수이고 인스턴스가 만들어질 때 실행되는 코드.생성자 함수는 return값을 만들지 않음
this.brand = brand; //this는 인스턴스 객체를 의미한다.
this.name = name; //this에 할당한다는 것은 만들어진 인스턴스에 해당 브랜드, 이름, 색상을 부여하겠다는 의미다.
this.color = color;
}
//메소드는 생성자 함수와 함께 class 키워드 안쪽에 묶어서 정의한다.
refuel(){
}
drive(){
}
}
let avante = new Car('hyundai','avante','black');
avante.color;
avante.drive();