" 이것이 자바다 - 신용권의 Java 프로그래밍 정복"
공부하며 정리한 글 입니다.
chapter 1. 자바 시작하기
자바를 실무에서 요령껏 사용하다보니 기초가 부족해 실수하는 영역이 많아...예전에 보려고 사둔 책을 꺼내들었다. 물론, 이책의 자바버전과 현재 버전은 다르나 현재 사용하는 자바 버전에는 문제가 없어 해당 책으로 정리하며 공부를 해보려고 한다.
1. 1 프로그래밍 언어란?
- 기계어 : 컴퓨터가 이해할수 있는 언어로 0, 1로 이루어진 이진코드
- 자연어 : 사람이 일상적으로 사용하는 언어로 컴퓨터가 이해하기 힘든 언어(문자집합)
- 프로그래밍 언어 : 기계어와 자연어의 매개채로 사람이 컴퓨터와 대화(?)할 수있게 하는 언어
- 고급언어 : 좀 더 사람이 쉽게 이해할 수 있는 언어 > 컴퓨터가 바로 이해 못함 > 컴파일 필요
- 저급언어 : 기계어와 가까운 언어로 사람이 쉽게 이해하기 힘듬
위에서 말하는 컴파일이란 컴퓨터가 이해할 수 있는 기계어로 프로그래밍 언어를 변환해 주는 작업으로 컴파일러라는 소프트웨어를 통해 처리된다.
1.2 자바란?
1.2.1 자바 소개
자바란 1995년 썬 마이크로 시스템즈에 의해 발표된 언어로 현재까지도 성공했다고 보이는 프로그래밍 언어준 하나이다.
이 역사(?) 소개는 개인적으로 딱히 중요하지 않아 보여 생략...이 부분은 나중에 한번 정리하도록 함.(궁금증 해결차)
1.2.2 자바의 특징
- 이식성이 높은 언어 : 서로 다른 실행환경을 가진 시스템간 프로그램을 옮겨 실행할 수 있는 것
- 자바는 소스코드의 수정이 없더라도 JRE(자바실행환경)이 설치되어있다면 모든 운영체제에서 실행 가능하다
- 객체지향 언어 : 자바는 100% 객체지향 언어 > 객체를 고려하고 만들어졌기 떄문에 캡슐화, 상속, 다향성 기능을 지원
- 함수적 스타일 코딩 지원 : 자바의 함수적 프로그램잉을 위한 람다식을 자바 8부터 지원하며, 현재 8,9..., 11은 꽤나 함서형 코딩을 지원한다.
- 메모리를 자동으로 관리 : C, C++ 과 같이 메모리에 생성된 객체를 제거하기 위해 개발자가 직접 제거해 줘야하는데, 자바의 경우 개발자가 직접 메모리에 접근할 수 없을 뿐더러 메모리를 자바가 직접 관리 한다.
- 다양한 애플리케이션을 개발 가능
- 멀티 스레드(Multi-Thread)를 쉽게 구현 가능
- 동적로딩(Dynamic Loading)을 지원
- 막강한 오픈소스 라이브러리가 풍부
1.2.3 자바가상기계(JVM)
컴파일러를 통해 변환된 바이트 코드파일을 해석하고 실행할 수 있는 가상의 운영체재이다.
자세한 내용은 해당 포스트에서 따로 정리하도록 하겠다.
1.3 자바 개발환경 구축
1.3.1 자바 개발 도구(JDK) 설치
오라클에서 무료로 다운 받을 수 있다.
물론 유료이긴하지만, BCL 라이센스로 개인이 학습 혹은 테스트 목적으로 사용하는데는 크게 지장이 없다.
만약 꺼림칙하다면 OpenJdk를 골라서 설치하면 된다.
1.3.2 API 문서
자바프로그램을 개발하기 위해 JDK에서 제공하는 표준 클래스 라이브러리를 사용 필요
JDK에서 제공하는 방대한 API들을 제공하는 문서로 아래 링크는 8버전이지만 각 버전별 정리되어있으면 버전확인후 사용하면 된다.
1.4 자바 프로그램 개발 순서
1.4.1 소스 작성에서 실행 까지
- .java 소스파일 작성
- Compiler(javac.exe) 로 바이트 코드 파일(.class) 생성
- JVM 구동 명령어(java.exe) 로 실행
자바로 작성된 프로그래밍이 실행되기까지는 위와 같은 단계로 진행된다.
해당 처리 진행 과정은 추후 자바의 컴파일 등을 정리하면서 다시한번 주의깊게 보도록 하겠다.
1.4.2 프로그램 소스 분석
'공부방 > JAVA' 카테고리의 다른 글
[모던 자바 인 액션] chapter 1. 자바 8, 9, 10, 11??? (0) | 2023.02.17 |
---|---|
JAVA::파일의 수정 날짜 확인하기 (0) | 2022.08.25 |
JAVA::JVM에 대한 이해 (0) | 2021.12.22 |
JAVA::자바에서 형변환(Casting)하기 (0) | 2021.11.26 |