1장

프로그래밍 언어

컴퓨터와 인간 사이를 연결하는 매개체이며, 컴퓨터에 작업을 시키기 위한 도구.

고급언어 : C, C++ 자바 등

고급언어로 작성한 소스코드는 컴파일러라는 시스템 소프트웨어를 이용해서 먼저 기계어로 구성된 실행코드로 변환.

#include <stdio.h>
main ( ) {
    print("Hello, world!");
}

컴파일러를 거치면

01010010101010101
10101001010101010
011010101001100110

이런 기계어로 바뀌어서 실행을 함(실제로는 다른 코드겠죠? 실행 안해봄)

자바 소개

  • 역사
    선마이크로시스템즈의 제임스 고슬링
    자바의 전신은 1991년 그린 프로젝트로 탄생한 객체지향언어인 오크(Oak)
    1993년 인터넷과 웹이 엄청난 속도로 발전
    인터넷 환경에 적합하도록 오크를 새롭게 설계한 후 1995년 Java라는 이름으로 발표
    1996년 자바 1.0을 발표
    자바 1.2~.1.4를 자바 2라고도 하는데 ,자바 1.5부터는 1을 빼고, 자바 5로, 자바 1.을 자바 6등으로 지칭
  • 활용분야
    자바는 웹용으로 개발한 언어로 현재는 pc용 소프트웨어나 게임 스마트용 앱 등에 사용.
    웹애플리케이션은 물론, CRM, ERP, SCM 등 기업용 애플리케이션
    빅데이터, 클라우드,소셜,모바일, 사물인터넷 등 혁신기술에서 커넥티드카, 스마트폰 및 비디오 게임까지 일상생활과 업무 환경 전반에 밀접하게 연관
    심지어 전세계 해양 정보 수집, 인간 두뇌의 근골격계 연구 등에도 다양하게 활용

자바 가상머신

  • 필요성
    • 다른 프로그래밍 언어는 플랫폼 종속
      • 하드웨어 아키텍처에 따라 사용하는 기계어 종류가 다르다.
      • 운영체제마다 사용하는 응용프로그래밍 인터페이스 (API)와 실행파일 형식이 다르다.
      • 프로그램을 실행하려면 운영체제가 제어하는 메모리를 사용해야 하는데, 운영체제마다 관리하는 방식이 다르다.
    • 자바는 자바가상머신 (JVM)을 사용하기때문에 플랫폼 독립
    • 이말이 뭐냐면, 윈도우에서, 리눅스에서, 맥에서 각각 사용하는 기계어가 다른데, 자바는 자바의 가상머신을 이용해서, 플랫폼에 독립적으로 쓴단말

자바 프로그램(hello.java) -> 컴파일러 -> 바이트 코드(hello.class) -> 윈도우용 jvm, 리눅스용 jvm, 맥용 jvm -> 각 운영체제용 실행파일

대표적인 자바 에디션

  • 자바 SE (Stanadard Edition)
    자바 핵심기능을 포함하는 표준 자바 플랫폼 ( 데스크톱)

  • 자바 EE (Enterprise Edition)
    주로 분산 환경에서 필요한 서버용 자바 플랫폼 ( 인터넷 )

  • 자바 ME (Micro Edition)
    자원이 제한된 임베디드 시스템용 플랫폼 (모바일)

자바 환경변수 설정

자바에 설정한 환경변수 확인하기

javac -version

실행결과

javac 17.0.2

통합 개발 환경

  • 필요성
    • 매우 간단한 자바 프로그램은 메모장에서 .java 파일로 작성한 후 컴파일 가능
    • 하지만 여려개의 파일로 된 프로젝트라면 메모장만으로는 어렵다.
    • 메모장 대신에 통합개발환경(IDE Integrated Developed Environment)을 이용하면 효율적으로 관리가능
    • 대표적인 자바 통합 개발환경은 이클립스, 넷빈즈, 인텔리j 아이디어 등
    • 우리 수업에선 이클립스를 사용

Hello 프로그래밍

  • 이클립스에서 자바 프로그램 작성 순서
    1. 프로젝트 생성
    2. 자바 프로그램 코딩 (.java)
    3. 바이트 코드 생성 ( . class)
    4. 실행
package java_practice;

public class practice_01 {
    public static void main(String[] args) {
        System.out.println("hello!");
    }
}

'TIL > [객체지향 프로그래밍] TIL' 카테고리의 다른 글

TIL (22.04.14)  (0) 2022.04.17
TIL (22.04.16) 시험범위 정리 2장  (0) 2022.04.16
TIL (22.04.13)  (0) 2022.04.13
TIL (22.04.08)  (0) 2022.04.08
TIL (22.04.06)  (0) 2022.04.06