클라스는 ES6부터 지원하는 방법으로 객체 지향 프로그래밍을 위해 사용하는 방법중 하나이다. 클라스에서 중요한 개념은 클라스와 인스턴스가 있는데, 클라스는 공장에서 사용하는 청사진이라 보면 되고, 인스턴스는 만들어진 물건이라고 생각하면 된다.
class product{
constructor(name,weight,worth){
this.name = name
this.weight = weight
this.worth = worth
}
worthup(){
this.worth += 1000
}
}
let book = new product('bookname',300,1000)
book.worthup()
간단한 클라스의 예시 코드를 작성해보았다. constructor은 클라스의 인스턴스가 만들어 질 때 실행되는 코드를 의미한다. this는 인스턴스 객체 그 자체를 의미하고, constructor 안의 코드는 인스턴스에 해당 변수를 가진 것들을 지정하겠다는 것이다.
객체 지향 프로그래밍은 절차 지향 프로그래밍과 반대되는 개념인데, 절차 지향은 코드가 순차적으로 실행되는 것에 중점을 둔 반면, 객체 지향은 데이터와 기능을 한 묶음으로 처리하는 방식입니다. 클라스가 대표적으로 객체 지향 프로그래밍을 하는 방법입니다.
객체 지향 프로그밍에는 4가지 주요한 특징이 있습니다.
1. 캡슐화: 데이터와 기능을 한 객체에 넣음
2. 추상화: 내부의 구현은 복잡하지만, 객체의 사용은 편리해야함
3. 상속: 객체를 상속시켜 데이터와 기능을 복제한 후 새로운 데이터와 기능을 넣어 사용 가능
4. 다형성: 하나의 객체나 메소드가 여러가지 다른 형태를 가질 수 있음
객체 지향 프로그래밍을 이용하면 불필요한 코드를 다시 짤 필요가 없어지고, 코드가 단순해 질 수 있습니다.