상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 getter와 setter란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 getter와 setter는 객체의 속성에 대한 접근과 수정 방식을 정의하는 특별한 메소드입니다. 이들은 객체의 프로퍼티에 대한 읽기 및 쓰기 작업을 제어하고, 데이터의 유효성을 검사하거나 추가적인 로직을 실행할 수 있도록 도와줍니다. getter와 setter는 ES5(ECMAScript 5)에서 도입되었으며, ES6(ECMAScript 2015)에서는 클래스 문법에서도 사용할 수 있게 되었습니다. Gettergetter는 객체의 속성 값을 읽을 때 호출되는 메소드입니다. 일반적으로 `get` 키워드를 사용하여 정의합니다. getter를 사용하면 속성에 대한 접근을 제어할 수 있으며, 속성 값을 계산하거나 변환할 수 있습니다. 예제```javascriptconst person = { firstName: 'John', lastName: 'Doe', get fullName() { return `${this.firstName} ${this.lastName}`; }};console.log(person.fullName); // "John Doe"```위의 예제에서 `fullName`은 getter로 정의되어 있습니다. `person.fullName`을 호출하면 `fullName` 메소드가 실행되어 `firstName`과 `lastName`을 결합한 문자열을 반환합니다. Settersetter는 객체의 속성 값을 설정할 때 호출되는 메소드입니다. `set` 키워드를 사용하여 정의합니다. setter를 사용하면 속성에 값을 할당할 때 추가적인 로직을 실행하거나, 데이터의 유효성을 검사할 수 있습니다. 예제```javascriptconst person = { firstName: 'John', lastName: 'Doe', set fullName(name) { const parts = name.split(' '); this.firstName = parts[0]; this.lastName = parts[1]; }};person.fullName = 'Jane Smith';console.log(person.firstName); // "Jane"console.log(person.lastName); // "Smith"```위의 예제에서 `fullName`은 setter로 정의되어 있습니다. `person.fullName = 'Jane Smith'`를 호출하면 setter가 실행되어 `name`을 공백으로 분리하고, `firstName`과 `lastName` 속성을 업데이트합니다. 사용 이유getter와 setter를 사용하는 이유는 여러 가지가 있습니다:1. 캡슐화 : 객체의 내부 상태를 보호하고, 외부에서 직접 접근하는 것을 방지할 수 있습니다. 이를 통해 객체의 일관성을 유지할 수 있습니다.2. 유효성 검사 : setter를 사용하여 속성에 값을 할당할 때 유효성을 검사할 수 있습니다. 예를 들어, 특정 형식의 데이터만 허용하거나, 특정 조건을 만족하는 경우에만 값을 설정할 수 있습니다.3. 계산된 속성 : getter를 사용하여 다른 속성의 값을 기반으로 계산된 값을 반환할 수 있습니다. 이를 통해 코드의 중복을 줄이고, 유지보수를 용이하게 할 수 있습니다.4. 디버깅 및 로깅 : getter와 setter에 로깅 기능을 추가하여 속성의 <a href='https://sangseek.com/sangseeks/변경 이력/ko'>변경 이력</a>을 추적할 수 있습니다. 이는 디버깅에 유용합니다. 클래스에서의 사용ES6부터는 클래스 문법에서도 getter와 setter를 사용할 수 있습니다. 클래스 내부에서 정의된 getter와 setter는 인스턴스의 속성처럼 사용할 수 있습니다. 예제```javascriptclass Rectangle { constructor(width, height) { this.width = width; this.height = height; } get area() { return this.width * this.height; } set dimensions(dimensions) { [this.width, this.height] = dimensions; }}const rect = new Rectangle(10, 5);console.log(rect.area); // 50rect.dimensions = [20, 10];console.log(rect.area); // 200```위의 예제에서 `Rectangle` 클래스는 `area`라는 getter와 `dimensions`라는 setter를 가지고 있습니다. `area`는 사각형의 면적을 계산하여 반환하고, `dimensions`는 배열을 통해 너비와 높이를 동시에 설정할 수 있게 합니다. 결론getter와 setter는 자바스크립트에서 객체의 속성에 대한 접근과 수정 방식을 제어하는 강력한 도구입니다. 이를 통해 객체 지향 프로그래밍의 원칙인 캡슐화와 데이터 보호를 실현할 수 있으며, 코드의 가독성과 유지보수성을 높이는 데 기여합니다. 이러한 기능을 적절히 활용하면 더욱 견고하고 유연한 코드를 작성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기