Java 24

[Java] 특징부터 C/C++ vs Java 실행 환경 차이 비교

Java 특징: WORA (Write Once Run Anywhere) 컴파일 : 고급 언어를 컴퓨터가 해석할 수 있는 기계어로 바꿔주는 과정 컴파일러: 컴파일 해주는 소프트웨어 C/C++ 등 자바 이전의 프로그래밍 언어들의 컴파일러는 기계어 코드로 변환할 때 프로그램이 실행될 대상의 컴퓨터의 CPU와 운영체제에 종속적인 코드로 변환한다. 위의 이유로 같은 코드를 다른 플랫폼(다른 CPU or OS)에서 실행하려면 아래 2가지 중 하나를 해야 함 다시 컴파일하기 플랫폼에 맞도록 코드를 수정 같은 리눅스인데 CPU가 다르면 다시 컴파일 or 코드 수정, 같은 CPU인데 리눅스의 것을 윈도우에서 실행하려고 해도 컴파일 or 코드 수정 필요 => 플랫폼 종속성(platform independence) 플랫폼 ..

Java 2024.04.03

[Java] 자바의 탄생

자바의 탄생 1991년 선마이크로시스템즈(SUN Microsystems)는 제임스 고슬링(James Gosling)이란 엔지니어를 중심으로 그린 프로젝트(green project)라는 이름으로 가전제품에 사용할 소프트웨어 개발 시작 기존 프로그래밍 언어로 작성된 플랫폼은 플랫폼(platform) 간에 호환성이 없어 사용자 컴퓨터의 플랫폼에 따라 다시 소스를 컴파일하거나 아예 프로그램을 재작성해야 하는 단점이 있었음 매우 다양한 플랫폼을 갖는 가전제품을 위해 플랫폼에 독립적인 언어의 필요성 대두 => 목적1 가전제품에 들어가는 제어 장치는 매우 적은 양의 메모리를 사용해야 함 => 내장형 시스템(embedded system)의 메모리 요구사항 충족 필요 => 목적2 이로 인해 선마이크로시스템즈 플랫폼 독립..

Java 2024.04.03

[Java] 프로그래밍 언어의 진화 그리고 컴파일과 실행

프로그래밍 언어 프로그래밍 언어는 컴퓨터가 실행할 프로그램을 작성하는언어 컴퓨터의 CPU는 이진수(binary code)인 0과 1밖에 이해하지 못함 이진수 명령어들로 구성된 언어를 기계어(machine language)라고 함 기계어의 각명령을 ADD, SUB, MOVE 등 가급적 표현하기 쉬운 상징적인 니모닉 기호(mnemonic symbol)로 일대일 대응시킨 어셈블리어(assembly language)가 만들어짐 어셈블이어 역시 사람이 다루기 힘들고, 다양한 프로그램이나 자료를 효율적으로 표현하는데에 한계 => 사람이 이해하기 쉽고 복잡한 알고리즘, 프로그램 등 효율적 표현 위해 고급 언어 생겨남 고급 언어는 초기에 절차 지향 언어 형태를 거쳐 지금의 객체 지향 언어로 진화 C++, 자바, C#은..

Java 2024.04.03

[Java] 자바(Java), 자바스크립트(Javascript), JSP(Java Server Page) 차이점과 서블릿(Servlet)

자바(Java) vs 자바스크립트(Javascript) vs JSP(Java Server Page) 차이 자바(Java) 응용소프트웨어를 개발하는 데 사용되는 범용 언어 자바스크립트(Javascript) 컴파일 없이 HTML 페이지에 소스 형태로 내장되어 웹 브라우저에 의해 번역되어 실행되는 스크립트 언어 웹 브라우저에서 키나 마우스 입력을 받아 메뉴를 보여주거나 색을 바꾸는 등 HTML 페이지에 동적인 변화를 주는 보조적인 역할을 함 JSP(Java Server Page) 웹 서버에서 실행되는 스크립트 언어 JSP 프로그램은 실행 전에 컴파일되어 서블릿(Servlet)이라고 불리는 자바 코드로 변환되어 실행됨 JSP(Java Server Pages) vs 서블릿(Servlet) 차이 모두 자바를 기반으..

Java 2024.04.03