강의 소개
현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다.
교재로는 모던 자바스크립트 입문을 사용하고 있습니다.
자바스크립트 언어 특징
1. 객체지향 언어(객체 정의+객체 생성)
정확히 말하면 동적 프로토타입 기반 객체 지향 언어이다.
자바스크립트는 프로토타입을 상속하는 객체 지향 언어이다. 또한, 자바스크립트에서는 객체 생성 이후에도 프로퍼티, 메서드를 동적으로 추가하거나 삭제할 수 있다는 점이 클래스 기반 객체 지향 언어와 다르다.
반면, 자바, C++은 클래스를 이용해 객체를 생성하는 클래스 기반 객체 지향 언어이다.
2. 함수형 언어 = 함수 동작 기능 나열
자바스크립트에서는 함수를 객체로 취급한다. 따라서 함수에 함수를 인수로 전달할 수 있다.
이를 활용하여 고차 함수를 구현할 수 있어 함수형 프로그래밍이 가능해진다.
3. 인터프리터 언어
프로그램을 한 줄마다 기계어로 번역해서 실행하는 프로그래밍 언어를 인터프리터 언어라 한다.
느릴 것 같이 보이지만 최근엔 웹 브라우저에 자바스크립트 코드를 컴파일하는 JIT 컴파일러가 내장되어 있어 실행 속도가 매우 빨라졌다.
반면, 자바는 컴파일러 언어이다. 소스 코드 여러 개를 하나로 묶어 컴파일 후에 실행하는 언어를 컴파일 언어라 한다. 자바 외에도 C, C++, Objective C 등이 해당한다.
4. 동적 타입 지원언어
자바스크립트는 변수 타입이 없다. 따라서 프로그램을 실행하는 도중에 변수에 저장하는 데이터 타입이 동적으로 바뀔 수 있다.
반면 실행되기 전에 변수 타입이 결정되는 언어를 정적 타입 언어라 하며, 자바와 C++ 이 이에 해당된다.
5. ECMASCRIPT 문법(계열 언어)
자바스크립트의 핵심 기술은 ECMAScript로 규정되어 있다.
6. 클라이언트 측의 고유한 기술요소
클라이언트 측 자바스크립트란 웹 브라우저에서 동작하는 자바스크립트를 말한다. 이는 ECMAScript가 규정한 코어 언어와 웹 브라우저의 API로 구성되어 있다.
[웹 브라우저의 주요 API]
- window 인터페이스: 자바스크립트로 브라우저나 창을 조작하는 기능
- DOM: 자바스크립트로 HTML문서의 요소를 제어하는 기능
- XMLHttpRequest: 서버와 비동기로 통신하는 기능
자바스크립트와 자바 추가 비교
1. 자바와 유사 문법을 가지고 있으나 자바 언어와 크게 관련은 없다.
2. 함수 VS 메서드
자바스크립트에서는 객체 내에서 포함되어 있지 않으면 함수, 포함되어 있으면 메서드라 한다. 자세한 설명은 아래와 같다.
자바스크립트에서는 함수도 객체 즉, 값으로 취급한다.
대부분의 언어가 함수를 가지고 있는데, 자바스크립트의 함수가 다른 언어의 함수와 다른 점은 함수가 값이 될 수 있다는 것이다.
function func1(){}
위의 코드는 func1라는 함수를 선언한 것이다. 이는 곧 변수 func1에 함수가 담겨있는 상태이다.
func1 = {
func2:function(){
}
};
메서드는 객체의 속성 값으로 담긴 함수이다.
즉, 함수는 객체의 값으로 포함될 수 있는데, 객체의 속성 값으로 담긴 함수를 메서드(method)라고 부른다.
자바에서는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다. 자바는 이러한 클래스 내의 함수를 메서드라고 부른다.
3. 객체의 특성을 표현하는 변수: 프로퍼티
자바스크립트에서는 객체에 포함된 데이터 하나(이름, 값의 쌍)를 객체의 프로퍼티라 부른다. 이를 객체의 특성을 표현하는 변수라고 보면 자바에서는 클래스 내부에 멤버 변수를 선언하여 객체의 특성을 표현한다.
'교육, 학습 > 멀티캠퍼스_풀 스택' 카테고리의 다른 글
JS 문법 - 입출력 (0) | 2022.02.18 |
---|---|
jQuery 문법 - 다운로드 (0) | 2022.02.15 |
JS 문법 - 데이터 타입 (0) | 2022.02.09 |
CSS - 미디어 쿼리, 반응형 웹 (0) | 2022.02.09 |
JAVA 개념 - 객체지향(OOP) (0) | 2022.02.08 |
댓글