충분히 쌓여가는
자바 클래스 작성 본문
- 자바에서 모든 코드는 반드시 클래스 안에 존재해야함
- 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스 구성 -> 이 클래스들이 모여 하나의 Java 애플리케이션 이룸
클래스 작성 방법
class 클래스 이름 {
// 주석을 제외한 모든 코드는 클래스의 블럭{} 내에 작성해야 함
}
- 키워드 class 다음에 클래스의 이름 적음
- 클래스의 시작과 끝을 의미하는 괄호{} 안에 원하는 코드 넣기
코드 분석
public class 클래스이름 {
public static void main(String[] args) { // main 메서드의 선언부
// 실행될 문장 적기
}
}
- public static void main(String[] args)
- main 메서드의 선언부
- 프로그램 실행할 때 java.exe에 의해 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어줘야 함
더보기
[]은 배열을 의미하는 기호, 배열의 타입 또는 배열의 이름 옆에 붙일 수 있음
String[] args는 String 타입의 배열 args를 선언한 것 = String args[]와 같이 사용할 수 있다
- main 선언부 다음에 나오는 괄호{}: 메서드의 시작과 끝 의미, 괄호 사이에 작업할 내용 작성
- Java 애플리케이션은 main 메서드의 호출로 시작해서 main 메서드의 첫 문장부터 마지막 문장까지 수행 마치면 종료됨
Java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 함
더보기
모든 클래스가 main 메서드를 가지고 있어야 하는 건 아님
- main 메서드는 Java 애플리케이션의 시작점이므로 main 메서드 없이 Java 애플리케이션은 실행될 수 없기 때문
- 작성된 Java 애플리케이션을 실행할 때 java.exe 다음에 main 메서드를 포함한 클래스의 이름 적어줘야 함
참고
- 하나의 소스파일에 하나의 클래스를 정의하는 것이 보통
- 하지만 둘 이상의 클래스 정의 가능
- 이때 주의해야 할 점: 소스파일의 이름은 public class 이름과 일치해야함
- public class가 없다면, 소스파일의 이름은 소스파일 내의 어떤 클래스 이름으로 해도 상관없음
올바른 작성
File | Code | 설명 |
Hello2.java | public class Hello2 {} class Hello3{} |
public class가 있는 경우, 소스 파일의 이름은 반드시 public class의 이름과 일치 |
Hello2.java | class Hello2 {} class Hello3 {} |
public class가 하나도 없는 경우, 소스파일의 이름은 Hello2.java, Hello3.java 둘 다 가능 |
잘못된 작성
File | Code | 설명 |
Hello2.java | public class Hello2 {} public class Hello3{} |
하나의 소스파일에 둘 이상의 public class가 존재하면 안됨 각 클래스를 별도의 소스파일에 나눠서 저장하든지 둘 중의 한 클래스에 public을 붙이지 않아야 함 |
Hello3.java | public class Hello2 {} class Hello3 {} |
소스파일의 이름이 public static의 이름과 일치하지 않음 소스파일의 이름을 Hello3.java로 변경해야함 |
hello2.java | public class Hello2 {} class Hello3 {} |
소스파일의 이름과 public class의 이름이 일치하지 않음 대소문자를 구분하기 때문에 대소문자가 일치해야함 소스파일의 이름에서 h -> H로 바꿔야함 |
'Java' 카테고리의 다른 글
기본형과 참조형 (0) | 2023.01.09 |
---|---|
변수 variable (0) | 2023.01.06 |
JVM(Java Virtual Machine) (0) | 2022.12.30 |
Java Programming Language (0) | 2022.12.30 |
IntelliJ 설치 (0) | 2022.12.28 |