정적 유틸리티 메서드
Coddy JavaScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 56개 중 33번째.
정적 메서드는 클래스의 인스턴스가 아니라 클래스 자체에 속하는 유틸리티 함수입니다. 인스턴스별 데이터에 접근할 필요가 없는 함수에 유용합니다.
정적 유틸리티 메서드가 있는 클래스를 만들어 봅시다:
class MathHelper {
// 정적 메서드를 정의합니다
static square(number) {
return number * number;
}
}정적 메서드를 호출하려면 클래스 이름을 직접 사용합니다:
// 인스턴스를 생성하지 않고 정적 메서드를 호출합니다
const result = MathHelper.square(5);
console.log(result); // 25인스턴스 데이터가 필요하지 않은 연산을 수행하는 유틸리티 함수에는 정적 메서드가 적합하므로, new MathHelper()를 사용해 새 인스턴스를 만들 필요가 없었다는 점에 주목하세요.
챌린지
정적 메서드 capitalize가 있는 StringUtils라는 클래스를 만드세요. 이 메서드는 문자열을 인수로 받아 첫 글자를 대문자로 바꾼 문자열을 반환합니다. 예를 들어 입력값이 "javascript"이면 메서드는 "Javascript"를 반환해야 합니다. 이 클래스를 내보내세요.
- 문자열이 비어 있는지 확인하세요:
if (!str || str.length === 0)(이 확인이 없으면 빈 문자열로 인해 문제가 발생할 수 있습니다.)!str은null/undefined인지 확인합니다(오류를 방지합니다).str.length === 0은 빈 문자열인지 확인합니다(오류를 발생시키는 대신 ""를 반환합니다).
- 첫 번째 문자를 가져오세요:
str.charAt(0) - 첫 번째 문자를 대문자로 바꾸세요:
.toUpperCase() - 문자열의 나머지 부분을 가져오세요:
str.slice(1)(위치 1부터 끝까지) - 결합하세요: 대문자로 바꾼 첫 번째 문자 + 문자열의 나머지 부분
직접 해보기
import { StringUtils } from './stringUtils.js';
// 아래 코드를 수정하지 마세요
console.log(StringUtils.capitalize("programming"));이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 JavaScript 컴파일러