컴파일(Compile)
컴파일이란?
- 대부분 프로그래밍 언어는 텍스트로 된 파일을 실행할 수 없다.
- 내가 만든 프로그램 코드를 컴퓨터가 이해할 수 있도록 엮어주는 작업
- 컴파일을 하는 프로그램 = 컴파일러
- Java에서 컴파일 과정
- 컴파일러가 .java 확장자 파일을 컴파일해서 오류가 없다면 => .class 확장자 파일 생성 (javac 명령어 사용)
- .class 확장자 파일 = 바이너리 파일
- .class 확장자 파일을 JVM에서 읽어서 운영체제에서 실행 (java 명령어 사용)
main() 메소드
main() 메소드란?
- 자바 프로그램의 진입점(시작점)
- 모든 자바 클래스는 main() 메소드가 반드시 있어야한다.
main() 메소드
public static void main(String [] args) {
}
- main() 메소드의 형태는 항상 같다. (매개 변수 이름을 변경할 수는 있지만 하지 않음)
- 자바에서 대 / 소문자 구분은 중요!
- public은 접근 제어자 역할, void는 리턴 타입으로 리턴할 것이 없을 때 사용된다.
- main은 메소드의 이름, (String [] args)는 메소드의 매개 변수로 String 배열을 의미.
- static은 자바 예약어 중 하나로 메소드를 static으로 선언 시 객체를 생성하지 않아도 메소드 호출 가능
System.out.print() 메소드
System.out.print() / println() 메소드
- System.out은 System 클래스의 static한 out이라는 필드를 의미
- 화면(커맨드 창)에 어떤 것을 출력할 때 사용되는 메소드
- print() 메소드는 내용 출력 후 줄 바꿈을 하지 않는다.
- println() 메소드는 내용 출력 후 줄 바꿈을 한다.
주석
주석이란?
- 코드 실행은 하지 않되 지우지 않는 방식
- 주석을 사용하면 그 부분은 컴파일러가 처리하지 않는다.
- 주석 종류
- 한줄 주석 ( // ) : // 뒤 한 줄의 모든 내용은 무시된다.
- 블록 주석 ( /* */ ) : /* */ 사이에 들어가는 여러 줄의 모든 내용을 무시한다.
- 문서용 주석 ( /** */ ) : 클래스 선언 바로 앞이나 메소드 선언 바로 앞에 사용한다.
메소드의 구성
메소드 구성
- (접근 제어자) + 리턴 타입 + 메소드 명 + (매개 변수 목록) + (예외 목록) { 메소드 내용 }
- 접근 제어자 : 메소드의 특성을 정하는 부분
- 리턴 타입 : 메소드가 끝났을 때 돌려주는 타입을 명시
- 메소드 이름 : 소괄호 앞에 있는 메소드의 이름
- 매개 변수 목록 : 소괄호 안의 매개 변수 목록
- 예외 목록 : 메소드의 소괄호가 닫히는 부분과 중괄호가 시작되는 부분 사이에 예외목록을 선언할 수 있다.
- 메소드 내용 : 중괄호 안의 내용
- 메소드에서 리턴 타입, 메소드 명, 메소드 내용은 필수적으로 포함되어야 한다.
- 메소드의 매개 변수는 없어도 되지만 () 소괄호는 반드시 포함한다.
간단 내용 정리
1. main() 메소드의 메소드 이름 앞에 들어가는 예약어는?
ㅡ> public static void
2. main() 메소드의 매개 변수에 들어가는 값은?
ㅡ> String [] args
3. 클래스에 main() 메소드가 없다면 java 명령어로 클래스를 수행할 수 있나요?
ㅡ> main() 메소드가 자바 프로그램의 시작점이므로 수행할 수 없다.
4. System.out.println() 메소드의 용도는?
ㅡ> 화면에 문자열을 출력하는 메소드로 줄바꿈이 포함된다.
5. System.out.print() 메소드와 System.out.println() 메소드의 차이점은?
ㅡ> print() 메소드는 줄바꿈을 하지 않고 println() 메소드는 줄바꿈이 포함된다.
6. // 는 어떤 용도로 사용하는 기호인가?
ㅡ> // 는 한줄 주석으로 // 뒤 모든 내용을 무시하며 컴파일러가 처리하지 않기에 코드 실행 시 영향을 미치지 않는다.
7. /*로 시작하고 */로 끝나는 사이에 있는 소스들은 어떻게 되나요?
ㅡ> /* */ 는 블록 주석으로 해당 블록 내 모든 내용을 무시한다.
8. 메소드를 선언할 때 반드시 있어야하는 3가지 요소는?
ㅡ> 리턴 타입, 메소드 명, 메소드 내용
출처: 이상민, <자바의 신 VOL.1> 로드북
'Java > 자바의 신 VOL.1' 카테고리의 다른 글
06. 제가 조건을 좀 따져요 (1) | 2024.06.19 |
---|---|
05. 계산을 하고 싶어요 (1) | 2024.06.19 |
04. 정보를 어디에 넣고 싶은데 (0) | 2024.06.18 |
03. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요 (1) | 2024.06.18 |
01. 프로그래밍이란 무엇인가? (0) | 2024.06.17 |