상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 정적 메서드(Static Method)란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 <a href='https://sangseek.com/sangseeks/정적 메서드/ko'>정적 메서드</a>(Static Method)는 클래스의 인스턴스가 아닌 클래스 자체에 속하는 메서드를 의미합니다. 즉, 정적 메서드는 클래스의 인스턴스를 생성하지 않고도 호출할 수 있는 메서드입니다. 이러한 메서드는 주로 유틸리티 기능이나 클래스와 관련된 특정 작업을 수행하는 데 사용됩니다. 정적 메서드의 정의 정적 메서드는 `static` 키워드를 사용하여 정의됩니다. 예를 들어, 다음과 같이 클래스를 정의하고 정적 메서드를 추가할 수 있습니다: ```javascript class MathUtils { static add(a, b) { return a + b; } static multiply(a, b) { return a * b; } } // 정적 메서드 호출 console.log(MathUtils.add(5, 3)); // 8 console.log(MathUtils.multiply(5, 3)); // 15 ``` 위의 예제에서 `add`와 `multiply` 메서드는 `MathUtils` 클래스의 정적 메서드입니다. 이 메서드는 `MathUtils` 클래스의 인스턴스를 생성하지 않고도 직접 호출할 수 있습니다. 정적 메서드의 특징 1. 클래스에 속함 : 정적 메서드는 클래스의 인스턴스가 아닌 클래스 자체에 속합니다. 따라서 인스턴스 변수나 인스턴스 메서드에 접근할 수 없습니다. 2. 유틸리티 함수 : 정적 메서드는 주로 클래스와 관련된 유틸리티 함수로 사용됩니다. 예를 들어, 수학 연산, 문자열 처리, 데이터 변환 등의 기능을 제공할 수 있습니다. 3. 상속 : 정적 메서드는 클래스 상속을 통해 자식 클래스에서도 사용할 수 있습니다. 자식 클래스에서 부모 클래스의 정적 메서드를 호출할 수 있으며, 필요에 따라 오버라이드할 수도 있습니다. ```javascript class Shape { static describe() { return 'This is a shape'; } } class Circle extends Shape { static describe() { return 'This is a circle'; } } console.log(Shape.describe()); // This is a shape console.log(Circle.describe()); // This is a circle ``` 4. 정적 <a href='https://sangseek.com/sangseeks/프로퍼티/ko'>프로퍼티</a> : 정적 메서드는 정적 프로퍼티와 함께 사용될 수 있습니다. 정적 프로퍼티는 클래스 자체에 속하는 변수로, 클래스의 모든 인스턴스에서 공유됩니다. ```javascript class Counter { static count = 0; constructor() { Counter.count++; } static getCount() { return Counter.count; } } new Counter(); new Counter(); console.log(Counter.getCount()); // 2 ``` 정적 메서드의 사용 사례 정적 메서드는 다양한 상황에서 유용하게 사용될 수 있습니다. 몇 가지 예를 들어보면: 1. 팩토리 메서드 : 객체를 생성하는 메서드를 정적 메서드로 정의하여, 인스턴스를 생성하는 방법을 캡슐화할 수 있습니다. ```javascript class User { constructor(name) { this.name = name; } static createAdmin(name) { const user = new User(name); user.role = 'admin'; return user; } } const admin = User.createAdmin('Alice'); console.log(admin); // User { name: 'Alice', role: 'admin' } ``` 2. 유틸리티 클래스 : 여러 관련 기능을 제공하는 유틸리티 클래스를 만들고, 그 안에 정적 메서드를 정의하여 코드의 재사용성을 높일 수 있습니다. ```javascript class StringUtils { static toUpperCase(str) { return str.toUpperCase(); } static toLowerCase(str) { return str.toLowerCase(); } } console.log(StringUtils.toUpperCase('hello')); // HELLO console.log(StringUtils.toLowerCase('WORLD')); // world ``` 결론 정적 메서드는 자바스크립트에서 클래스의 인스턴스와 독립적으로 동작하는 메서드로, 유틸리티 기능, 팩토리 메서드, 상수 및 공유 데이터를 처리하는 데 매우 유용합니다. 이러한 메서드를 적절히 활용하면 코드의 가독성과 재사용성을 높일 수 있으며, 클래스의 구조를 더욱 명확하게 정의할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기