[Java] 백준 2557번 - Hello World
Java 프로그램의 기본 구조와 main 메서드로 Hello World를 출력하는 풀이를 정리했습니다.
For the English version of this post, see here.
[Java] 백준 2557번 - Hello World
풀이
1
2
3
4
5
public class Main {
public static void main(String args[]) {
System.out.print("Hello World!");
}
}
백준에서 Java의 경우
1
2
3
4
public class Main {
public static void main(String args[]) {
}
}
다음과 같이 메인 메서드를 작성해야한다.
- 메인 메소드는 자바 어플리케이션 실행 시, 제일 먼저 동작하며(
main), 어느 객체에서든 접근할 수 있으며(public), 자바가 컴파일 되는 순간 정의되는(static), 돌려주는 값이 없는(void) 함수
평소 프로그래머스로 문제를 풀다 보니, 답만 answer 안에 넣으면 되는 경우가 많아서 헷갈렸다.
java의 메인 메소드
- 프로그램 시작이 메인이기 때문에, 자바 어플리케이션이 실행되면 제일 먼저 메인 메소드가 실행됨
public: 접근 제어자, 어느 곳에서든 해당 객체를 참조할 수 있다는 의미 - 외부에서 접근할 수 있는 일종의 제약
- 종류는 제약이 강한 순서대로
private -> protected -> publicdefault: 클래스 내부와 동일 패키지에서 접근할 수 있음static: 이 함수가 정적 함수임을 의미함,static으로 함수 또는 클래스를 선언했을 경우에 해당 객체는 자바가 컴파일 되는 순간 정의가 됨 -> 이후static이 아닌 객체가 정의됨- 따라서,
static객체에서static이 아닌 객체를 호출하는 것은 불가능함 static이 먼저 정의가 되기 때문에 아직 정의되지 않은 객체는 호출할 수 없기 때문void: 실행만 함, 리턴되는 값이 없음 -> 단지 해당 함수가 종료된 후 호출한 부분으로 이동할 뿐String args[]: 프로그램을 실행할 때 외부에서 값을 전달받기 위해 사용1
java Main hello 123
1 2 3 4
public static void main(String[] args) { System.out.println(args[0]); // hello System.out.println(args[1]); // 123 }
- 전달받은 hello, 123 값들이 args 배열에 들어감
- 코테에서는 대부분 Scanner, BufferedReader로 입력을 받기 때문에 거의 사용 안함
- 따라서,
java에서의 출력
print: 괄호 안 내용을 단순히 출력 printf: C에서의 printf와 동일, %d, %s 등을 쓰기 위해 사용 println: 괄호 안 내용을 출력한 후 마지막에 개행문자(\n)이 포함되어 있어 출력 후 한 줄 띄워짐