객체지향 프로그래밍

클래스와 인스턴스

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();