혼공단/혼공단 6기

혼자 공부하는 자바스크립트 9장 - 클래스

하양훈 2021. 8. 10. 08:33
반응형

1. 객체 지향

- 객체지향 패러다임 : 객체를 우선적으로 생각해서 프로그램을 만든다는 방법론

- 객체 지향 프로그래밍 언어들은 클래스를 활용해 객체를 효율적이고 안전하게 만든다.

- 추상화 : 프로그램에 필요한 요소만 사용해서 객체를 표현하는 것

 

2. 클래스

- 클래스 : 객체를 만들때 수많은 지원을 하는 대신 제한이 많음 .

- 프로토타입 : 재한은 없지만 지원도 별로 없는 문법

class 클래스 이름 {

}

- 인스턴스 : 클래스를 기반으로 만든 객체

- 인스턴스 생성시 사용하는 문법

new 클래스 이름()

- 클래스 이름은 첫글자를 대문자로 지정하는 것이 개발자들의 약속이다.

 

3. 생성자와 메소드

- 생성자 : 객체가 생성될때 호출되는 함수

- 메소드의 이름은 constructor 지만, 실제 호출될때는 클래스의 이름을 부른다.

class 클래스 이름 {
	constructor(){
    	/* 생성자 코드 */
	}
}

- 메소드 : 클래스 내부에 선언하는 함수, 일반 함수를 선언하듯 클래스 내부에 선언하면 된다.

 

4. 상속

- 상속 : 어떤 클래스가 가지고 있는 속성과 메소드를 다른 클래스에게 물려주는 형태

- 이때 속성과 메소드를 주는 클래스가 부모클래스, 받는 클래스가 자식 클래스라고 부른다.

class 클래스 이름 extends 부모클래스 이름{

}

 

5. private 속성과 메소드

- 클래스 사용자가 속성이나 메소드를 의도하지 않은 방향으로 사용하는 것을 막아 클래스의 안정성을 확보하기 위해 나온 문법

- 속성과 메소드 이름에 #을 붙이면 된다.

class 클래스 이름 {
    #속성이름
    #메소드이름 (){
    }
}

- private 속성으로 변경하면 클래스 외부에서는 해당 속성에 접근할 수 없다.

- 만약 접근하고 싶다면 getter나 setter를 사용하면 된다.

- getter : 속성 값을 확인할때 사용하는 메소드 

- setter : 속성 값을 지정할때 사용하는 메소드

class 클래스 이름 {
    get 이름 () {return 값}
    set 이름 (value) {}
}

 

6. static 속성과 메소드

- 인스턴스를 만들지 않고 사용할 수 있는 속성과 메소드.

- 정적 속성, 정적 메소드라고 부르기도 한다.

class 클래스 이름 {
    static 속성 = 값
    static 메소드 (){
    }
}

- static은 클래스 이름 뒤에 점을 찍고 속성과 메소드를 사용한다.

클래스 이름.속성
클래스 이름.메소드()

 

※ 오버라이드

- 부모가 갖고 있는 함수를 다시 선언해서 덮어쓰는 것

반응형