자바의 시작

mDev_97·2021년 12월 30일
0

Java

목록 보기
1/28

프로그래밍 언어

프로그램 작성 언어

기계어(machine language)
• 0, 1의 이진수로 구성된 언어
• 컴퓨터의 CPU는 기계어만 이해하고 처리 가능하다.

어셈블리어
• 기계어 명령을 표현하기 쉬운 단어인 니모닉 기호(mnemonic symbol)로
일대일 대응 시킨 언어

고급언어
• 사람이 이해하기 쉽고, 복잡한 작업, 자료 구조, 알고리즘을 표현하기 위해 고안된 언어
• 절차 지향 언어와 객체 지향 언어로 나눌 수 있다.
• Java, C#, C/C++, Basic 등

객체 지향 프로그래밍

• Object-Oriented Programming, OPP

• 컴퓨터 프로그래밍의 패러다임 중 하나이다.

• 컴퓨터 프로그램을 객체들의 모임으로 파악하고자 하는 것이다.

• 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

• 프로그램을 유연하고, 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다.

• 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점

컴파일

소스(Source) : 프로그래밍 언어로 작성된 텍스트 파일

컴파일(Complie) : 소스 파일을 컴퓨터가 이해할 수 있는 기계어로 만드는 과정

자바 : .Java > .class
C : .c > .obj > .exe
C++ : .cpp > .obj > .exe

자바의 실행 환경

바이트 코드(byte code)

자바 가상 기계에서 실행 가능한 바이너리 코드
• 바이트 코드는 컴퓨터 CPU에 의해 직접 실행되지 않는다.
• 자바 가상 기계가 작동 중인 플랫폼에서 실행한다.
• 자바 가상 기계가 인터프리터 방식으로 바이트 코드를 해석한다.

클래스 파일(.class)에 저장한다.

자바 가상 기계(JVM)

• 각기 다른 플랫폼에 설치한다.

동일한 자바 실행 환경을 제공한다.

• 자바 가상 기계 자체는 플랫폼에 종속적이다.

자바의 실행

• 자바 가상 기계(JVM)이 클래스 파일(.class)의 바이트 코드를 실행한다.

• 링크 과정 없이 컴파일러가 바로 바이트 코드를 생성한다.

• 바이트 코드는 JVM에서만 실행 가능하다.

• 자바는 필요한 클래스들을 프로그램 실행 중에 동적으로 로딩한다.

오픈 소스

오픈 소스란?
• 소프트웨어 제작자의 권리를 보존
• 누구나 액세스 할 수 있도록 소스 코드를 무상으로 공개한 소프트웨어

오픈 소스의 장점
• 공개된 소스 코드를 참조함으로써 개발 시간 및 비용을 단축할 수 있다.
• 공개된 소프트웨어를 다수의 인원이 참여 개량, 우수한 품질의 소프트웨어를 개발 할 수 있다.

오픈 소스의 단점
• 무단으로 사용 소프트웨어에 사용할 경우 저작권 침해가 발생
• 다양한 개량 버전의 소프트웨어로 인한 호환성 문제

JDK와 JRE

JDK(Java Development Kit)

• 자바 응용 개발 환경
• 개발에 필요한 도구를 포함한다.
• 컴파일러, JRE, 클래스 라이브러리, 샘플 등을 포함

JRE(Java Runtime Enviroment)

• 자바 실행 환경
• JVM을 포함한다.
• 자바 실행 환경만 필요한 경우에는 JRE만 따른 다운 가능하다.

자바 API

• JDK에 포함된 클래스 라이브러리
• 개발자는 API를 이용하여 쉽고 빠르게 자바 프로그램을 개발할 수 있다.

자바 패키지 (package)
• 서로 관련된 클래스들을 분류하여 묶어 놓은 것
• 계층구조로 형성
• 자바 API는 JDK에 패키지 형태로 제공된다.
• 개발자는 자신의 패키지를 생성 할 수 있다.

profile
안녕하세요. 백엔드, 클라우드, 인프라에 관심과 열정이 있는 김문성입니다. 😊

0개의 댓글

관련 채용 정보