시스템 변수 설정 : JAVA_HOME(변수명), 사용하는 JDK폴더 설정
PATH 설정 : JAVA_HOME/bin
bin 폴더에 있음
javac : 자바 컴파일러 프로그램 (class 파일을 만들어줌)
java : 자바 실행프로그램
jar : 자바 언어에서 사용하는 압축 파일
javadoc : 문서 작성 도구
소스 파일 : test.java
실행 파일 : test.class
터미널(Prompt)에서의 실행문
javac Test.java : 컴파일러 프로그램 실행
java Test : 자바 실행 프로그램 실행
eclipse를 사용하면 자동으로 컴파일 해줌
소스 파일 → 컴파일 → 실행 파일 → 실행 → Class loader
→ Byte code verifier → Interperter 또는 Just-In-Time compiler
→ Runtime System → 운영 체제 → Hardware
Class loader : 클래스 파일을 메모리에 로딩시켜줌
Byte code verifier : 로드된 파일의 코드 유효성 검증
Interperter, JIT Compiler : 바이트 코드를 기계어 코드로 변환
Runtime System
변수 선언 : 메모리에 데이터를 저장하기 위해 일정한 공간을 확보하고 이름을 지정하는 것
데이터 타입 : 메모리의 크기와 저장되는 값을 결정함
논리 타입 : boolean : 1byte
문자 타입 : char : 2byte, 'F' : '' 사용, 한 글자의 값만 가지는 데이터
정수 타입 : byte : 1byte, short : 2byte, int : 4byte, long : 8byte
실수 타입 : float : 4byte, double : 8byte
참조 타입 : 메모리 주소 값, ex) String, Array
부호 연산자 : +a, -a : 양수, 음수 지정
비트 연산자 : &, |, ^, ~
자동 타입 변경 (암시적 변환)
직접 타입 변경 (명시적 변환)
if문, if ~ else문, if ~ elseif ~ else문, switch문
if ~ elseif ~ else문은 조건에 맞지 않으면 다음 elseif 조건으로 넘어감
for문, while문, do while문
while문도 외부에 변수를 두고 실행문의 마지막에 증감식을 실행하면 횟수를 정할 수 있음
동일한 타입의 변수들을 순차적으로 메모리에 저장한 후, 첫번째 변수의 메모리 주소값만 이용하여 인접한 변수를 접근하는 구조
배열의 장점: 순차적인 접근으로 접근 속도가 빠름
new : heap Memory에 새로운 참조 변수를 생성하는 키워드
배열 생성 : int[]arr = new int[5] = int arr[] = new int[5] 둘 다 같은 의미
값 저장 : arr[1] = 123
값 추출 : int num = arr[1]
배열의 생성과 초기화를 동시에 하는 방법 : int[] score = {1, 2, 3, 4, 5}
배열의 특징 : 초기화 된 배열은 초기값을 가짐 (false, 0, null)
new int[5][2] : 행5개, 열2개
new int[5][] : 행 또는 열의 개수를 따로 지정할 수 있음
Ex) 2차원 배열
int[][] arr = new int[5][5]
int num = 1
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr.length; j++) {
arr[i][j] = num++
}
}
자바 프로그램 실행 시 전달받는 배열 : static void main(String[] args)
해당 java 파일의 이름을 매개변수로 받음
객체 모델링 : 객체(객체 이름) = 속성 + 행동
클래스 다이어그램 : 객체를 클래스로 표현하는 방법
자바에서의 디렉토리, 현재 클래스파일이 소속된 위치
패키지화 : 디렉토리를 나눠서 작업하는 것
import문 : 다른 디렉토리에 있는 패키지를사용할 때 사용함
import문에서 *는 모든 것을 뜻하지만 하위 패키지에는 적용되지 않음
선언되는 클래스, 변수, 메소드들을 접근하여 사용할 수 있는 권한
private : 접근하는 곳이 같은 클래스인 경우에만 접근 가능
default: 접근하는 곳이 같은 패키지인 경우에만 접근 가능
protected: 접근하는 곳이 같은 패키지 또는 상속관계인 경우에만 접근 가능
public: 조건 없음
메소드에서 return문 : 메소드의 실행을 종료하겠다고 선언하는 명령문
메소드 오버로딩 : 동일한 이름으로 매개 변수만 다르게 여러 번 메소드를 선언하는 것
testMethod_String부족했던 배열에 관한 부분이나 자바의 기본적인 개념을 다시 볼 수 있어서 좋았다.