자바 소스코드의 구조
보통 일반적인 자바 소스코드는 다음과 같은 형태로 만들어 진다.
클래스명.java
/* 클래스 블록 */
public class 클래스명 {
/* 메소드 블록 */
[public|private|protected] [static] 리턴자료형|void 메소드명1(입력자료형 매개변수, ...) {
명령문(statement);
...
}
/* 메소드 블록 */
[public|private|protected] [static] 리턴자료형|void 메소드명2(입력자료형 매개변수, ...) {
명령문(statement);
...
}
...
}
소스코드의 가장 바깥쪽 영역은 class 블록이다. 클래스명은 원하는 이름으로 지을 수 있다. 단, 클래스명은 소스파일의 이름(클래스명.java)과 동일하게 사용해야 한다.
그리고 class 블록은 메소드 블록들을 포함한다.
메소드 블록 부분에서 [public | private | protected]라고 되어 있는 부분의 의미는 public, private, protected 또는 아무것도 오지 않을 수 있다는 의미이다. 이 public, private, protected 라는 것은 메소드의 접근제어자를 뜻한다.
[static]은 static 키워드가 올수도 있고 오지 않을 수 도 있다는 의미이다. static이라는 키워드가 붙게 되면 static 메소드가 된다.
리턴자료형|void는 메소드가 실행된 후 리턴되는 값이 자료형을 의미한다. 리턴값이 있을 경우에는 반드시 리턴 자료형을 표기해야 하며 만약 리턴값이 없는 경우라면 void로 표기해야 한다. 이 항목은 둘 다 생략할 수는 없고 void 또는 리턴자료형이 반드시 있어야만 한다.
메소드명은 원하는 이름으로 지을수 있다. 메소드 명 이후의 괄호() 안의 값들은 메소드의 입력 인자를 뜻한다. 입력 인자의 갯수는 제한이 없으며 입력 인자는 "입력자료형" + "매개변수명" 형태로 이루어진다.
클래스내에는 이러한 메소드들이 여러개 올 수 있다.
소스코드의 예
다음은 가장 간단한 샘플로 실제 소스코드의 구조에 대해서 자세히 알아보자.
sample.java
public class Sample {
public static void main(String[] args) {
System.out.println("Hello java");
}
}
클래스 블록
소스코드의 가장 바깥쪽 영역인 클래스 블록을 보자.
public class Sample {
(... 생략 ...)
}
이 클래스의 클래스명은 Sample이다.
소스코드의 가장 바깥쪽은 클래스(class) 블록이다. 그리고 클래스 블록은 중괄호({})로 둘러싸야 한다.
- { 블록의 시작
- } 블록의 끝
public은 자바의 접근제어자로 어디서든 이 클래스에 접글한 수 있음을 의미한다. class는 클래스 블록을 만드는 키워드다.
메소드블럭
클래스 블록 안에는 다음과 같은 블록이 있다.
public class Sample { // 클래스 블록
public static void main(String[] args) { // 메소드 블록
(... 생략 ...) // 메소드 블록
} // 메소드 블록
} // 클래스 블록
이 메소드의 메소드명은 main이다.
메소드 블록 역시 중괄호로 영역을 구분한다.클래스 블록 안에는 여러개의 메소드 블록이 있을 수 있다. 메소드 블록에 사용된 public, static, void 등에 간단히 알아보자.
- static - 메소드에 static 키워드가 붙을 경우 이 메소드는 클래스 메소드가 되어 객체를 만들지 않아도 "클래스명.메소드명" 형태로 호출이 가능하다.
- void - 메소드의 리턴타입 중 하나로 void는 리턴값이 없음을 의미한다.
- String[] args - 메소드의 매개 변수이다. args 변수는 String[] 배열 자료형임을 의미한다. args라는 이름은 인수를 의미하는 arguments의 약어로 관례적인 이름이다. args 대신 다른 이름을 사용해도 상관없다.
명령문 (Statement)
메소드 블록 안에는 명령문(Statement)이 있다.
public class Sample {
public static void main(String[] args) {
System.out.println("Hello java"); // 명령문
}
}
위와 같이 컴퓨터에 무언가 일을 시키는 문장을 명령문(Statement)이라고 한다. 명령문은 반드시 세미콜론(;)을 붙여 문장의 끝을 표시해야 한다. 메소드 블록 안에는 여러개의 명령문이 있을 수 있다.
'Language > Java' 카테고리의 다른 글
[Java] 1 ~ 10000까지 8이라는 숫자가 나오는 횟수 (0) | 2022.07.25 |
---|---|
[Java] 1~100까지의 정수에서 모든 소수 구하기 (0) | 2022.07.25 |
[Java] 자바 기초 정리/구구단 만들기 (0) | 2022.07.25 |
[Java] 자바 (0) | 2022.07.24 |
[Java] 약수 구하기 실습 (0) | 2022.07.22 |