본문 바로가기

객체

6. Immutability (객체와 변경불가성) 객체는 참조(reference) 형태로 전달하고 전달 받음. 객체가 참조를 통해 공유되고 있다면, 그 상태가 언제든지 변경될 수 있기 때문에 의도치 않은 변경이 발생되어 여러가지 문제가 발생 될 수 있음. 의도하지 않은 객체의 변경이 발생하는 원인의 대다수는 "레퍼런스를 참조한 다른 객체에서 객체를 변경"하기 때문.객체를 불변객체로 만들어 프로퍼티의 변경을 방지하여 객체의 변경이 필요한 경우에는 참조가 아닌 객체의 방어적 복사를 통해, 새로운 객체를 생성 후 변경 또는, Observer 패턴으로 객체의 변경에 대처. 1. immutable value vs. mutable valuejavascript의 기본 자료형(primitive data type)은 변경 불가능한 값(immutable value). -.. 더보기
5. Object (객체) 1. 객체 (Object)JavaScript는 객체(Object) 기반의 스크립트 언어이며, 기본 자료형을 제외한 나머지 값들 (함수, 배열, 정규표현식)은 모두 객체. 데이터와 그 데이터와 관련된 동작(절차, 방법, 기능)을 모두 포함할 수 있는 개념적 존재. 키(key)와 값(value)로 구성된 데이터를 의미하는 프로퍼티(property)와 동작을 나타내는 메소드(method)로 구성된 집합이며, 배열과 달리 구성 요소들의 순서를 보장하지 않음. 객체지향의 상속을 구현하기 위해 "프로토 타입" 이라는 객체의 프로퍼티와 메소드를 상속 받을 수 있음. 1.1 프로퍼티 (Property)객체는 이름(key)와 값(value)의 쌍인 프로퍼티들을 포함하는 컨테이너라로 할 수 있음.- 프로퍼티 이름 : 빈 .. 더보기
16 - 클래스 선언 클래스자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 함, 클래스는 객체를 만들기 위한 일종의 틀 - 붕어빵이 객체라면, 붕어빵은 클래스클래스란 객체를 정의한 것으로 객체의 모든 속성과 기능이 정의되어야 함클래스로부터 객체를 생성하면, 클래스에서 정의딘 속성과 기능을 가진 객체가 생성이 됨 클래스 생성 public class Car { // 차 속성 (멤버 변수)int carColor; // 차 색int carWheel // 차 바퀴 개수... // 차 기능 (메소드)public void carBrake() //브레이크public void carAxel() // 차 ... } Car 객체 생성하기 (자동차 만들기) public class CarTest { public static void mai.. 더보기