객체5 원시 값과 객체의 비교 변수에 할당 시 저장되는 값변수는 메모리 공간의 식별자입니다. 변수에 값을 할당할 때, 값이 원시 값이라면 메모리에 실제 값이 저장되고, 객체라면 참조 값(메모리 주소)이 저장됩니다.변수를 다른 변수에 할당하는 경우원시 값은 새로운 메모리 공간에 복사된 값이 저장되기 때문에 각 변수가 다른 메모리 공간을 가리킵니다. 반면, 객체는 메모리 주소를 나타내는 참조 값을 복사하기 때문에 각 변수는 같은 객체를 참조하게 됩니다. 이 때문에 한 변수에서 참조하는 객체를 변경하면 다른 변수에서도 변경 사항이 반영됩니다.할당에 대한 표현원시 값을 할당한 변수는 “변수는 **값을 갖는다”, “변수의 값은 **다”로 표현하고, 객체를 할당한 변수는 “변수는 객체를 참조하고 있다”, “변수는 객체를 가리키고 있다”고 표현합.. 2025. 3. 13. 객체 리터럴 객체자바스크립트는 객체 기반 프로그래밍 언어로, 거의 모든 것이 객체라고 볼 수 있습니다. 객체는 원시 타입의 값과 다르게 변경 가능한 값(mutable value)입니다. 0개 이상의 프로퍼티를 가지며, 프로퍼티는 키(key)와 값(value)으로 구성됩니다. 이때, 프로퍼티의 값으로 모든 값을 사용할 수 있고, 일급 객체인 함수 또한 값으로 사용할 수 있으며 함수가 값인 프로퍼티를 메서드라고 합니다.프로퍼티 - 객체의 상태를 나타내는 값(data)메서드 - 프로퍼티를 참조하고 조작할 수 있는 동작(behavior)객체 리터럴에 의한 객체 생성클래스 기반 객체지향 언어(C++, 자바)에서는 new 연산자를 통해 사전에 정의한 클래스의 인스턴스를 생성하지만, 프로토타입 기반 객체지향 언어인 자바스크립트에.. 2025. 3. 13. 객체의 관계는 설계 의도로 결정된다. 의존성 주입을 학습하다가 이건 집합 관계로 봐야하지 않나, 라는 의문을 풀기 위해 객체의 관계에 대해 고민해봤습니다. Car와 Engine 클래스로 구성된 코드를 예시로 들었습니다. 물론, 두 모델은 구성 관계가 가장 어울리지만 설명을 위해 다소 억지스럽게 객체의 관계에 대한 해석을 붙여가며 글을 개진해봤습니다.의존 관계 (Dependency) vs 연관 관계 (Association)class Engine { start(): void { console.log("Engine started"); }}class Car { constructor(private engine: Engine) {} startCar(): void { this.engine.start(); }}위의 코드는 의존 관계,.. 2025. 1. 25. [프로토타입] 프로토타입의 이해 당연하게 사용하고 있었던 객체, 배열, 문자열 등의 메서드들이 어떻게 동작하는지, 그리고 추후 클래스를 사용하며 extends, implement, 생성자 함수의 사용 등을 유려하게 하기 위해서 가장 먼저 짚고 넘어가야 할 개념이 프로토타입이다. #[[prototype]] 객체가 갖는 내부 프로퍼티이자 숨김 프로퍼티로써, null 을 참조하거나 다른 객체를 참조할 때 사용된다. 객체에서 하나만 존재한다. (참조할 수 있는 프로토타입은 유일함) 참조할 프로토타입을 할당할 수 있다.(객체나 null 만 가능) 객체에서 찾을 수 없는 메서드와 속성은 [[prototype]]으로 참조한 프로토타입에서 찾는다. 처음 찾은 메서드 혹은 속성을 반환한다. __proto__ 는 속도 이슈 및 에러 발생 가능성 때문에 .. 2022. 12. 25. 이전 1 2 다음