1. 자바의 특징
설명 보기
- 객체 지향 언어이다
- 객체 지향 프로그래밍 : 객체들을 먼저 만들고 그 객체들을 연결하여 완성하는 기법(OOP)
- 메모리를 자동으로 관리
- C++ 처럼 개발자가 직접 메모리에 접근할 수 없음
- 메모리는 자바가 직접 관리 (Garbage Collector)
- 풍부한 라이브러리
- 자주 쓰이는 기능들을 라이브러리로 제공한다
- 운영체제에 독립적
- 서로 다른 실행환경을 가진 시스템 간에 프로그램들을 옮겨 실행할 수 있다.
- 가상의 운영체제 역할을 하는 JVM(Java Virtual Machine) 이 있기 때문에 가능하다.
- 객체 지향 언어이다
2. JVM 이란?
설명 보기
- 자바를 실행하기 위한 가상머신
- 실제 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제
- 자바는 JVM이 OS 위에 있기 때문에 운영체제에 독립적인 특징을 가진다.
- 개발자가 Java 코드를 작성하면 그 이후부터는 Java compiler, 가상 머신이 동작하며 프로그램이 실행된다.
3. 자바 파일 실행 과정
설명 보기
- 확장자가 .java인 자바 소스파일을 작성
- 소스파일을 컴파일러로 컴파일
- 확장자가 .class인 바이트 코드(클래스 파일)가 생성됨
- 클래스 파일이 JVM에 의해 해석
- JVM(Class Loader)이 해당 운영체제에 맞게 기계어로 변역
자바의 장점
- Write Once, run anywhere : 한번 작성하면 어디서든 실행된다.
자바의 단점
- 한번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고, JVM에 의해 기계어로 번역되고 실행되기 때문에 C,C++ 같은 컴파일 단계에서 만들어지는 완전한 기계어보다 속도가 느리다.
- JVM 내부의 기계어로 빠르게 변환해주는 최적화된 JIT 컴파일러를 통해 차이가 줄어들고 있다.
4. 주석과 실행문
설명 보기
주석
- // (행 주석) : //부터 라인 끝까지 주석으로 처리
- /* ~*/ (범위 주석) : /* 와 */ 사이 범위를 주석으로 처리
실행문
- 변수 선언, 값 저장, 메소드 호출에 해당하는 코드
- 컴파일러는 세미콜론이 나올 때 까지 실행문이 계속해서 연결된 것으로 보기 때문에 한 실행문이 여러줄에 걸쳐 있거나 한 줄에 여러 개의 실행문이 있어도 된다.
int index = 1; int loop = 2; int result = index + loop; System.out.println(result);
int index = 1; int loop = 2; int result = index + loop; System.out.println(result);
5. 자바 코드 살펴보기
설명 보기
- 자바 코드 구조
- 클래스 블록
- 첫 번째 줄에 ‘class 클래스명’ 으로 선언되어 있는, 코드의 가장 바깥쪽 부분
- 클래스명 : 영문으로 지어야하고, 첫번째 철자는 대문자
- 클래스명 == 소스파일명
- 클래스 블록은 여러 메서드 블록을 품고 있다.
- 메서드 블록 : “접근제어자 static 리턴 자료형 메서드명(입력자료형 매개변수)”으로 선언되어있는, 메서드 영역
- 접근제어자 : [public | private | protected]
- static : 해당 클래스에 대한 인스턴스 선언 없이도
클래스명.메서드명
형태로 사용가능
- 리턴 자료형 : 메소드가 실행된 후 리턴되는 값의 자료형
- 필수적인 부분이므로 없다면 void를 사용해 없다는것을 표기해줘야 한다.
- 메서드명
- 보통 영문
- 해당 메서드가 하는 기능을 이름으로 한다
- 주로 맨 앞에 동사가 온다
- (입력자료형 매개변수)
- 명령문(실행문)
- 클래스 블록
- 클래스 내부 구성
- 코딩 컨벤션
- PascalCase : 단어의 첫글자를 대문자로 표기
- camelCase : 첫단어는 소문자로 나머지 단어의 첫글자는 대문자로 표기
- kebab-case : 모든 단어를 소문자로 표기, 단어를 대시(-)로 연결
- 프로젝트 이름으로 권장됨
- snake_case : 모든 단어를 소문자로 표기, 단어를 언더바(_)로 연결
- UPPER_CASE : 모든 단어를 대문자로 표기하고, 단어를 언더바(_)로 연결
구분 Python JavaScript & Java 기타 PascalCase 클래스, Exception 클래스, Exception - camelCase - 변수, 함수, 메소드 - snake_case 변수, 함수, 메소드 - - kebab-case - - 파일, 폴더명 UPPER_CASE 상수변수 상수변수 -
- 자바 코드 구조
6. 추가할 것
Q. 한 자바 파일에 클래스를 여러개 넣으면 어떻게 되는가?
A. https://gsgdvxhx.tistory.com/3
'Dev > ESTsoft 오르미' 카테고리의 다른 글
연산자 / 조건문과 반복문 (0) | 2024.02.22 |
---|---|
변수 (0) | 2024.02.22 |
강사님 코드리뷰 (0) | 2024.02.22 |
공부한 기술들 (0) | 2024.02.22 |
JavaScript3 (DOM,AJAX) (0) | 2024.02.22 |