Multi Developer SuHo

자바스크립트 Static Keyword(스태틱 키워드) 본문

카테고리 없음

자바스크립트 Static Keyword(스태틱 키워드)

Dreaming Developer Student 2023. 10. 9. 16:12
SMALL

모든  내용과 소스들은 다음과 같은 강의 플랫폼에서 응용하여  작성하였습니다.
출처: https://inf.run/xNcEg

 

[무료] [코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스 - 인프런 | 강의

이 강의 하나만으로 인기 Javascript 프레임워크들과 Typescript를 배울 수 있는 기본을 다질 수 있습니다., 자바스크립트 문법 마스터,9시간 만에 무료로 할 수 있어요! ✨ 자바스크립트 문법,한 강의

www.inflearn.com

자바스크립트에서 Static KeyWord를 알아보겠습니다.  'Static Keyword' 는 ES6에서 추가된 기능 중 하나로. 클래스의 정적메서드나 정적 속성을 정의할 때 사용됩니다. 이를 통해 클래스의 인스턴스화 없이도 해당 클래스의 메서드와 속성에 접근할 수 있습니다.  

다음은 Static 키워드를 사용한 소스코드 입니다.

/**
 * Static Keyword
 * //지금까지 정의했던 모든 프로퍼티(속성) 들은 인스턴스(객체)에 직접적으로 귀속이 됐었는데, Static keyword를 쓰게 되면 클래스에 귀속이 된다
 * static 키워드를 쓰게되면 클래스에 귀속이 되고, new keyword를 쓸 필요가 없다
 */
class IdolModel{
    name;
    year;
    static groupName = '에스파'; //초기값을 에스파로 설정

    constructor(name,year){
        this.name= name;
        this.year= year;
    }

    static returnGroupName(){
        return '에스파';
    }
}

const winter = new IdolModel('윈터',2001);
console.log(winter);


console.log(IdolModel.groupName);
console.log(IdolModel.returnGroupName());

다음은 Factory Constructor (팩토리 생성자)에 알아보겠습니다.  팩토리 생성자는 객체를 생성하고 반환하는 함수로 , 객체 생성 과정을 캡슐화하여 객체를 생성할 때 유연성을 제공합니다.

팩토리 생성자 함수를 이용한 소스코드 입니다

/**
 * factory constructor
 */
class IdolModel{
    name;
    year;

    constructor(name,year){
        this.name = name;
        this.year = year;
    }

    static fromObject(object){ //object로 부터 클래스의 인스턴스를 만들겟다 일종의 약속
        return new IdolModel(
            object.name,
            object.year,
        );
    }
    //list로 부터 IdolModel를 만들 수 있는 방법을 만들고 싶다
    static  fromList(list){
        return new IdolModel(
            list[0],
            list[1],
        );
       
    }

}

const winter2 = IdolModel.fromObject({
    name: '윈터',
    year: 2001,
});
console.log(winter2);

const karina = IdolModel.fromList(
    [
        '카리나',
        2000,
    ]
);
console.log(karina);
// new 키워드를 쓰지도 않았는데 IdolModel 에 인스턴스(객체)가 생겨나는 이유: fromObject 라는 함수 같은 경우에 새로 IdolModel를 만들어서 반환을 해주기 때문

 

 

이렇게 자바스크립트에서 Static keyword 와 Factory Constructor (팩토리 생성자 함수)에 대해 알아보았습니다.

 

 

LIST