Programming Language 4

[JavaScript] var, let, const 비교

var, let, const 비교 var let const Scope Function level Block level 재선언 가능여부 O X 재할당 가능여부 O X var는 function level scope를 가지고 있어 함수 내에서 선언 시 해당 함수 내에서만 유효하다. 또한 함수 내에서는 블록 내외부에 관계없이 유효하다. 하지만 함수 외부에서는 참조가 불가능하다. 만약 var가 함수가 아닌 if문, for문, try/catch문에서 선언될 경우 해당 블록 밖에서도 인식된다. 이와 달리 let과 const는 block level scope를 가지며, 모든 코드블록 내에서 선언될 경우 해당 변수는 블록 내부에서만 유효하다. (블록 외부에서는 참조가 불가능하다.) var는 유일하게 재선언이 가능하며, ..

[JAVA] 객체지향 프로그래밍의 특징 : 캡슐화, 추상화, 다형성, 상속 개념 + 접근 제한자

객체 간의 관계 : 집합, 사용, 상속 관계 객체는 개별적으로 사용되기도 하지만 대부분 다른 객체와 관계를 맺고 있다. 이 관계에는 집합 관계, 사용 관계, 상속 관계가 있다. 집합 관계에 있는 객체는 하나의 부품이고 하나는 완성품에 해당한다. 예를 들어 엔진, 타이어, 핸들, 기어 등으로 구성된 부품들과 완성품인 자동차를 집합 관계로 볼 수 있다. 사용 관계는 객체 간의 상호작용을 말한다. 객체는 다른 객체의 메소드를 호출하여 원하는 결과를 얻어낸다. 예를 들어 사람은 자동차를 사용하므로 사람과 자동차는 사용 관계에 있다고 할 수 있다. 사람은 자동차를 사용할 때 '전진한다', '멈춘다'와 같은 동작에 대한 메소드를 호출한다. 상속 관계는 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계를..

[JAVA] 객체지향 프로그래밍에서의 객체와 메소드

현실 세계에서 자동차를 만들 때 부품을 먼저 개발하고 이 부품들을 하나씩 조립해서 완성해 나가듯이, 소프트웨어를 개발할 때에도 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해서 완성된 프로그램을 만든다. 바로 이러한 기법을 객체 지향 프로그래밍 (OOP; Object Oriented Programming)이라고 한다. 객체와 객체 모델링 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 속성을 가지고 있고, 다른 것과 구별 가능한 것을 말한다. 앞서 언급한 자동차 외에도 자전거, 책과 같은 제품, 사람, 동물과 같은 생물, 강의, 주문과 같은 서비스 등 모두 객체가 될 수 있다. 객체는 속성과 동작으로 구성된다. 예를 들어 '자동차'라는 객체에 대해서는 '색상', '디자인'..

[PL] 자바(Java)와 자바스크립트(JavaScript)의 특징 비교 : 컴파일 언어와 인터프리터 언어

웹 개발에서 HTML은 웹 페이지의 내용을 작성하여 뼈대를 형성하고, CSS는 그것을 디자인하며, JavaScript는 웹 페이지의 동적인 동작을 담당한다. JavaScript는 주로 웹 브라우저에서 클라이언트 측에서 실행되지만, Node.js와 같은 프레임워크를 사용하여 서버 측 프로그래밍에서도 사용할 수 있다. 또한, 현재 대부분의 컴퓨터나 스마트폰 등에는 JavaScript 인터프리터가 내장되어 있어, 웹 페이지를 빠르고 효율적으로 실행할 수 있다. 이번에는 웹 개발에서 필수적인 언어로 자리 잡고 있는 JavaScript에 대해 인터프리터 언어와 컴파일 언어 개념을 참고하여 알아보고자 한다. 자바스크립트(JavaScript)의 특징 자바스크립트는 객체 기반의 스크립트 언어이다. 동적이며, 타입을 명..