기계어와 프로그래밍 언어
기계어
- 0과 1로 이루어진 코드 사용
- 사람과 기계어 사이 다리 역할을 하는 프로그래밍 언어 필요
- 소스(source) 파일: 프로그래밍 언어로 작성한 파일
- 컴파일(compile): 소스 파일을 기계어 파일로 번역
프로그래밍 언어
- 자바(Java): 임베디드, 웹, 안드로이드 소프트웨어(SW) 개발 분야
- C / C++: 하드웨어(HW) 장치 제어 및 임베디드 SW 분야
- C++ / C#: 데스크탑 앱 또는 ASP.NET 기반 웹 SW 분야
- 파이썬 (Python): 빅데이터 분석 및 머신러닝 SW 분야
자바 소개
1995년 마이크로시스템즈에서 발표한 자바(Java)는 현재 웹사이트 및 다양한 애플리케이션 개발의 핵심 언어이다
자바(Java)의 특징
- 오라클 라이선스 (자바 개발 도구의 배포)
- 모든 운영체제에서 실행 가능
- 객체 지향 프로그래밍 (OOP)
- 메모리 자동 정리
- 풍부한 무료 라이브러리
자바 개발도구 설치
자바 언어로 소프트웨어를 개발하려면 필요한 환경 및 도구를 제공하는 자바 개발 도구(JDK: Java Development Kit)를 활용해야 한다
JDK 종류
- Open JDK: 개발, 학습용 및 상업용 모두 무료로 사용
- Oracle JDK: 개발, 학습용은 무료이지만 상업용 목적인 경우 년간 사용료 지불, 안정적인 업데이트
- 학습용은 모두 무료이므로 안정적인 Oracle JDK를 사용하는 것이 좋음
Oracle 홈페이지 접속 > Products > Java > Java SE > PC 사양에 맞는 설치 파일 다운로드
JDK 17 Documentation🔽
환경 변수 설정
JDK 위치를 찾을 때 JAVA_HOME 변수가 필요한 경우가 있어 미리 환경 변수 설정을 해주자
~ 제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 > 고급 > 환경 변수 > 시스템 변수
IDE 설치
자바의 기본적인 통합 개발 환경(IDE)인 이클립스(Eclipse)를 사용해보자
Eclipse Downloads🔽
- workspace: 프로젝트 폴더가 저장, 개발 환경 정보와 관련된 메타 데이터 저장
- perspective: 프로젝트 개발에 유용하게 사용될 view들을 미리 묶어 놓은 것
- view: 이클립스 내부에서 사용되는 작은 창 및 기능들
자바 프로그램 개발 과정
자바 프로그램은 완전한 기계어가 아닌 바이트 코드 파일(.class)로 구성되는데, 운영체제에서 이를 바로 실행할 수 없어 JVM(Java Virtual Machine)이 완전한 기계어로 번역해 실행한다
외부에서 재사용할 수 있는 패키지들을 묶은 것을 모듈(Module)이라 하며 이클립스의 프로젝트는 하나의 모듈을 개발하는 것이다 (모듈 기술자는 해당 모듈의 이름/의존성/활용도를 기술)
기본적으로는 java.se 모듈만 사용 가능하므로 다른 모듈을 사용할 경우 모듈 기술자에 의존 모듈로 등록해야 한다
ex) requires java.se;
// 패키지 선언
package sec01.exam01;
// 클래스 선언
public class HelloWorld {
// 메소드 선언
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
- main() 메소드 블록 내부에는 다양한 실행문들이 작성
- 실행문 끝에는 반드시 세미콜론(;)을 붙여서 실행문이 끝났음을 표시
'Languages > Java' 카테고리의 다른 글
[HUFS/객체지향프로그래밍] #3 연산자, 조건문과 반복문 (0) | 2022.12.26 |
---|---|
[HUFS/객체지향프로그래밍] #2 변수와 타입 (1) | 2022.12.23 |
[HUFS/컴퓨터 프로그래밍] #10 파일 입출력 (2) | 2021.03.05 |
[HUFS/컴퓨터 프로그래밍] #9 문자열과 메소드 (0) | 2021.03.05 |
[HUFS/컴퓨터 프로그래밍] #8 배열 (0) | 2021.03.03 |