본문 바로가기
SCHOOL/웹시스템개발 1 (JavaScript)

웹시스템개발 1주차

by 따`ddah 2024. 3. 6.

1. 컴파일러 언어

- 코드 실행 버튼을 누르면, 소스 코드 전체를 기계어로 변환하여 실행

 

2. 인터프리터 언어

- 코드 한 줄 한 줄 실행

 

3. JVM ( Java Virtual Machine ) : 자바 가상 머신

- 자바를 실행하기 위한 가상 기계(컴퓨터)

- 바이트 코드라 불리는 기계어 코드를 실행하는 가상 머신

- 기계어로 해석하는 것이 아닌 가상환경이 이해할 수있는 언어(중간언어)로 번역하여 다시 실행할때 기계어로 번역

- OS에 종속받지 않고 CPU가 JAVA를 인식, 실행할 수 있게 하는 가상 컴퓨터

 

4. CLR ( Common Language Runtime ) : 공통 언어 런타임

- 마이크로소프트 닷넷 이니셔티브의 가상 머신 구성 요소

- 공통 중간 언어라고 불리는 바이트 코드의 형태를 실행

 

5. JIT ( Just In Time ) 컴파일 : 동적 번역

- 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법

- java 버츄얼 머신: 동적 프린터 언어

- 한줄 한줄 실행하지만, 캐시에 저장하여

동일한 문제가 나오면 이미 번역해놓은것을 사용 (번역하는데에 오래걸리기 떄문에)

 

6. JVM (자바 가상 머신) 과  JIT컴파일

- 자바 컴파일러가 자바 프로그램 코드를 바이트 코드로 변환한 다음, 실제 바이트 코드를 실행하는 시점에서 자바 가상 머신이 바이트코드를 JIT컴파일을 통해 기계어로 변환

 

7. 선언문과 할당문

 

8. 오리 타이핑 / 덕 타이핑 (Duck Typing) 

- 꽥꽥 소리가 나면 오리라는 것이 판단이 되는 것처럼 선언문 없이 할당문만 있어도 자료형 타입을 자동으로 정할 수 있다. 

- 즉, 타입을 미리 정하는 것이 아니라 실행되었을때 해당 method들을 확인하여 타입을 정하게 된다. 

 

9. 프로세스 ( Process )

- 컴퓨터에서 실행중인 프로그램을 의미

- 프로그램을 실행하면 메모리에 올라가야 실행이 된다. 

- 프로그램이 메모리에 올라간 상태를 프로세스라고 한다. 

 

10. 프로그램 (Program)

- 하드디스크 등의 저장공간에 저장되어 있는 코드와 리소스 등이 집합되어 있는 파일을 말하고 실행하면 메모리에 올라가서 프로세스로 동작

 

11. 객체지향

- 어떤 프로그램의 일부분에 해당하는 작은 부품, 즉 객체를 먼저 만들고 만들어진 객제들을 조립해서 하나의 완성된 프로그램을 만드는 프로그래밍 방법

 

12. 객체와 인스턴스 차이

객체 :

- 추상적인 개념

- 모든 인스턴스를 포괄하는 넓은 의미

 

인스텐스 :

- 실체적인 / 구체적인 개념 또는 실체

- 해당 객체가 어떤 클래스로부터 생성된 것인지 강조

 

13. 동적타이밍 언어 ( Dynamic Typing) 

- 변수를 지정할 때 해당 변수의 데이터 타입 등을 명시하지 않아도 컴퓨터가 알아서 해석하도록 냅둔다. 

- 선언문 없이 할당문으로만 표기

- 언어 : 파이썬, 루비, php 등..

 

14. 정적타이핑 언어 (Static Typing)

- 선언문의 정보를 수집한다.

- 변수의 데이터 타입을 직접 명시하며 컴퓨터가 해야할일을 덜어주는 것. 

- 선언문을 활용하여 데이터 타입 명시

- stack이라는 메모리 공간에 바이트 만큼 생성하여 번역한다. 

- 언어 : C, C++, 자바 등..

 

15. 동시성(Concurrency)

- 들이 동시에 일어나는 것처럼 보이는 것

- 싱글 코어에서 멀티 스레트를 동작시키는 방식

 

16. 병렬성(Parallelism)

- 둘이 동시에 여러 작업이 처리 됨

- 멀티 코어에서 멀티 쓰레드를 동작시키는 방식

 

728x90