소스 코드를 운영체제의 실행 파일로 변경하고 실행한다.
C언어 코드를 윈도우에서 실행 시키려면 윈도우 실행 파일인 PE파일로 변경하고 실행해야 한다.
C언어 코드를 리눅스에서 실행 시키려면 리눅스 실행 파일인 ELF로 변경하고 실행해야 한다.
컴퓨터는 확장자가 아닌 내용으로 프로그램을 구분한다.
소스코드를 운영체제에서 실행 시키려면 운영체제의 인터프리터에서 실행해야 한다.
컴파일 언어는 컴퓨터 자원을 직접 다루기 때문에 인터프리터형 언어에 비해 성능이 좋다.
컴파일 언어는 컴파일 시 오류를 감지하면 컴파일을 하지 중단하기 때문에 실행하지 못하지만, 인터프리터 언어는 라인별로 코드를 실행하기 때문에 해당 라인을 만날 때 까지는 동작한다.
자바는 인터프리터와 컴파일 언어 사이에 위치하는데, 자바 코드가 실행될 때 컴파일을 통해 .class파일로 변경되고 이를 인터프리터가 실행시킨다.
LTS(Long Term Service)로 지정되는 8, 11, 17 JDK버전은 오랜기간 유지보수를 제공하기 때문에 보편적으로 많이 사용된다.
버전을 올리는 경우는 취약점이 발생되었을 경우나, 특정 프로그램이 지원하는 자바 버전이 현재 버전보다 높을 경우에 해당한다.
Spring 3버전 이상부터는 Java는 17버전 이상만 지원한다.
버전 변경시 PATH(실행 경로)를 수정해줘야 한다.
하나의 데이터를 담는 공간
선언
클래스명 변수명;
클래스명 변수명 = 값;
저장
변수명 = 값;
사용
변수명호출
문법적
사회적
우선순위는 위에서 아래로 갈 수록 낮아진다.
if(조건문){
~한다(참이면)
}else: 그렇지 않다면 ~ 한다
else{
~한다(앞 조건이 거짓이면)
}
else if: 만약 조건1이 아니고, 조건2가 참이면 ~한다
if(조건문1){
~한다(참이면)
}else if(조건문2){
~한다(참이면)
}
조건이 참이면 조건이 거짓이 될 때 까지 반복한다.
for: ~부터 ~까지 n번 반복
for(초깃값;조건;증감식){
반복할 코드
}
while: 조건이 참인동안 반복
while(조건){
반복할 코드
조건을 변경해줄 코드
}
do-while: 우선 1번 실행 후 조건이 참인동안 반복
do{
반복할 코드
}while(조건)
break: 반복문 종료
continue: 즉시 다음 반복문 실행
현실 세상에 있는 유,무형의 무언가를 컴퓨터 세상에 구현한것
공통된 특징을 저장해서 객체를 생성한다.
이러한 객체를 만들기 위한 공통된 형식을 클래스라고 한다.
ex) 학생 -> 이름, 나이를 저장해서 학생 객체를 만든다.
속성: 변수(여러개)
기능: 함수(메소드)(여러개)
메소드
반환클래스 메소드이름() {
실행될 코드
return 반환값;
}
같은 타입의 변수를 여러개 저장하는 것
배열 생성
클래스명[] 배열변수명;
Integer[] nums;
변수
nums = new Integer[5];
값 저장: index는 0부터 시작 | 배열변수명[index] = 값;
nums[0] = 10;
nums[1] = 20;
nums[2] = 30;
nums[3] = 40;
모든 대입 연산자(=)에는 값이 복사되어 저장됨
배열은 주소값을 가진다.
배열 = 베열을 하게 되면 값을 복사하는게 아닌, 주소값을 복사
int a = 10; // a라는 변수에 10이라는 값 저장(주소x);
int[] arrA = {1,2,3}; //arrA에 {1,2,3}이 담긴 배열의 시작주소 저장
int[] a = arrA; //a라는 변수에 arrA에 담긴 값(배열의 시작주소) 저장
//따라서 이때 a는 arrA의 값이 아닌 주소를 직접 참조하고 있기 때문에
//이를 수정할 시 arrA의 값도 같이 바뀌게 된다.