Hello.java
자바로 프로그램 개발을 하려면 JDK이외에도 편집기가 필요하다.
→ 이클립스(eclipse) 인텔리제이(Intellij), 외에도 에딧플러스(editplus)
class Hello {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
위 코드를 실행하려면
자바 컴파일러(javac.exe)를 사용해서 소스파일(Hello.java)로부터 클래스파일(Hello.class)를 생성해야 한다.
그다음 자바 인터프리터(java.exe)로 실행한다.
자바에서 모든 코드는 반드시 클래스 안에 존재해야한다. 서로 관련된 코드들은 그룹으로 나누어 별도의 클래스를 구성하게 된다. 그리고 이 클래스들이 모여 하나의 Java 애플리케이션을 이룬다.
- 클래스 작성하기
키워드 ‘class’ 다음에 클래스의 이름을 적고, 클래스의 시작과 끝을 의미하는 괄호 {} 안에 원하는 코드를 넣기
class 클래스이름 {
/*
주석을 제외한 모든 code는 클래스의 블럭{} 내에 작성해야한다.
*/
}
- public static void main(String[] args)
main 메서드의 선언부, 프로그램을 실행할 때, ‘java.exe’에 의해 호출될 수 있도록 미리 약속한 부분이다.
- Java 소스파일과 클래스
‘[]’은 배열을 의미하는 기호로 배열의 타입 또는 배열의 이름 옆에 붙일 수 있다. ’String[] args’는 String타입의 배열 args를 선언한 것.
모든 클래스가 main메서드를 가지고 있어야 하는 것은 아니지만, 하나의 java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다. 작성된 Java 애플리케이션을 실행할 때는 ‘java.exe’ 다음에 main 메서드를 포함한 클래스의 이름을 적어줘야 한다.
하나의 소스파일에 하나의 클래스만을 정의하는 것이 보통이나 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능함. 이때 주의해야 할 점은 ‘소스파일의 이름은 public class의 이름과 일치해야 한다.’는 것이다.
만일 소스파일 내에 public class가 없다면, 소스파일의 이름은 소스파일 내의 어떤 클래스 이름을 해도 상관없다.
- 올바른 작성 예시
**Hello2.java**
public class Hello2 {}
class Hello3 {}
**// public class가 있는 경우, 소스파일의 이름은
// 반드시 public class의 이름과 일치해야한다.**
**Hello2.java**
class Hello2 {}
class Hello3 {}
**// public class가 하나도 없는 경우, 소스파일의 이름은 'Hello2.java', 'Hello3.java'**
**// 둘다 가능**
- 잘못된 작성 예시
**Hello2.java
public class Hello2 {}
public class Hello3 {}
// 둘 이상 public class가 존재하면 X
// 이런 경우 각 클래스를 서로 다른 소스파일에 저장
// 혹은 한 클래스에 public을 붙이지 않는다.**
**Hello3.java
public class Hello2 {}
class Hello3 {}
// public class의 이름과 일치하지 않음 Hello2.java로 바꿔주자.**
**hello2.java
public class Hello2 {}
class Hello3 {}
// 대소문자 구분을 잘해주자.**
위 코드 중 올바른 코드 2번째에서 Hello2.java를 컴파일하면
Hello2.class Hello3.class 두 개의 클래스 파일이 생성된다.
참고자료 -
'Java' 카테고리의 다른 글
[Java] 형변환(casting) (0) | 2023.04.20 |
---|---|
[Java] 문자형과 유니코드 (0) | 2023.04.13 |
[Java] 가변배열 (0) | 2023.03.30 |
[Java] 2차원 배열 (0) | 2023.03.28 |
[Java] 객체지향언어, 클래스, 객체 정리 (4) | 2023.01.05 |