객체란(object)?

  • 자바스크립트는 객체(object) 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 '모든 것'이 객체이다. 원시값(문자-string, 숫자-number, boolean(true,false), 심볼(symbol), bigint, numm, undefined)을 제외한 나머지 값(함수, 배열, 정규표현식 등)은 모두 객체이다.

  • 자바스크립트의 객치는 키(key)와 값(value)으로 구성된 프로퍼티의 집합니다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라고 부른다.

  • 이와 같이 객체는 데이터를 의미하는 프로퍼티와 데이터를 참조하고 조작할 수 있는 동작을 의미하는 메소드로 구성된 집합니다. 객체는 데이터와 그 데이터에 관련되는 동작을 모두 포함할 수 있기 땜ㄴ에 데이터와 동작을 하나의 단위로 구조화할 수 있어 유용하다.

  • 자바스크립트의 객체는 객체지향의 상속을 구현하기 위해 '프로토타입' 이라고 불리는 객체의 프로퍼티와 메소드를 상속받을 수 있다. 이 프로토타입은 타 언어와 구별되는 중요한 개념이다.

프로퍼티(property)

let person = {
	name: 'sean',
    age: 24
    };

객체는 프로퍼티의 집합이라고 할 수 있다.

  • 프로퍼티: name: 'sean', age: 24
  • 프로퍼티 키: name,age
  • 프로퍼티 값: sean, 24

프로퍼티는 프로퍼티 키(이름)와 프로퍼티 값으로 구성된다. 프로퍼티는 프로퍼티 키로 유일하게 식별할 수 있다. 즉, 프로퍼티 키는 프로퍼티를 식별하기 위한 식별자(identifier). 프로퍼티 키의 명명 규칙과 프로퍼티 값으로 사용할 수 있는 값은 아래와 같다.

  • 프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 또는 symbol 값
  • 프로퍼티 값: 모든 값

메소드

  • 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라 부른다. 즉, 메소드는 객체에 제한되어 있는 함수를 의미한다.
let circle = {
	radius: 5,
    getDiameter: function(){
    	return 2 * this.radius;
        }
      };

여기서 radius: 5 가 프로퍼티가 되고, getDiameter: functioin() 가 메소드가 되는것이다.

결론으로 객체를 사용하는 이유

  • 복잡도를 낮추기 위해서 그리고 연관성이 잘 드러난다.
  • 사용하지 않으면 메소드나 변수가 한번 더 쓰여지면서 원래의 기능이나 값이 변형될 수도 있다.
  • 즉 유지보수가 편하며, 여러사람이 같이하는 프로젝트가 된다면 더욱 복잡해질 수 있어 객체지향 프로그래밍을 사용하는게 좋다.
profile
나는 프론트엔드 개발자다!

0개의 댓글

Powered by GraphCDN, the GraphQL CDN