본문 바로가기

const

(2)
[Javascript] var, let, const의 차이 - 호이스팅, TDZ, scope var과 let의 차이점 var은 한 번 선언된 변수를 다시 선언할 수 있다. var name = 'Mike'; console.log(name); // Mike var name = 'Jane'; console.log(name); // Jane let은 한 번 선언된 변수를 다시 선언할 수 없다. let name = 'Mike'; console.log(name); // Mike let name = 'Jane'; // error! console.log(name); var는 선언하기 전에 사용할 수 있다. var로 선언된 모든 변수들은 코드가 최상위로 끌어올려진 것처럼 동작하기 때문이다. 이를 호이스팅(hoisting)이라고 한다. 선언은 호이스팅되지만 할당은 호이스팅 되지 않기 때문에 undefined가 출..
[C++] OOP 캡슐화 - static, const 멤버 정적(static) 멤버 변수 일반적인 멤버 변수의 경우 인스턴스화를 거쳐 객체를 만들 경우 해당 클래스를 통해 만든 여러 객체마다 멤버 변수의 메모리가 각자 할당되어 서로 영향을 주지 않지만 static 멤버 변수의 경우 해당 클래스를 통해 만든 모든 객체가 동일한 메모리를 공유하기 때문에 어떤 객체에서 static 멤버 변수의 값을 변경한다면 다른 객체에서도 같이 변경된다. 즉, 클래스 내의 전역변수라고 생각하면 된다. class 클래스명{ static 변수타입 변수명; }; static 멤버 변수의 특징 선언은 클래스 내부에서 하지만 초기화는 생성자 등 클래스 내부에서 진행할 수 없고 파일 영역에서 진행한다. 전역 변수와 같이 프로그램 시작 시 생성되고 프로그램 종료 시 변수가 사라지므로 객체가 생..