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 프로그래밍
- 이클립스에서 자바 프로그램 작성 순서
- 프로젝트 생성
- 자바 프로그램 코딩 (.java)
- 바이트 코드 생성 ( . class)
- 실행
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 |