티스토리 뷰
안녕하세요. 오늘부터 자바를 정말 세세하게 뜯어보도록 하겠습니다.
저를 포함한 초보자 분들에게 도움이 됐으면 좋겠습니다.
초보자 분들은 수박 겉핥기 식으로 알고 넘어가지 마시고, 조금이라도 왜 이렇게 프로그램이 돌아가는지알고 가시는 시간이 됐으면 좋겠습니다.
1. 출력 뜯어보기
처음 프로그래밍을 시작하면 반드시 볼 수 있는 것이 "Hello World!" 입니다.
(1) public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } }
위 소스를 실행해보면 "Hello World"라는 글이 나오게 되는데요.
왜 그렇게 나오는지는 알고 있으신가요? 하나씩 뜯어봅시다.System 입니다. System은 사용자의 입력,출력, 에러, 보안등등 여러가지 기능을 가지고 있습니다.
여기서는 출력에 초점을 맞춰보도록 하죠.
System.out 은 System안에있는 out을 가리키는 것입니다.(현재는 이렇게만 알고계세요!)
System안에 out은 밑에 소스와 같이 정의되어 있습니다.
(public, static, final,변수는 지금 모르셔도 됩니다.)
public static final PrintStream out = null;
단순하게 out은 null(아무것도 가지지 않은 상태) 입니다.
그럼 어떻게 out이 PrintStream에 접근 할 수 있을까요?
시스템 내부적으로 out은 설정됩니다. 따로 만지지 않으면 System.out 은 콘솔창에 띄운다고 하네요.
(1) 코드에 PrintStream out 은 PrintStream출신인 이름이 out이라고 지금은 알고 계시면 됩니다.
그럼 out은 PrintStream출신인 만큼 PrintStream에 있는 정보를 알고 있고, 사용할 수 있습니다.
(2) public void println(String x) { synchronized (this) { print(x); newLine(); } }
이제 out은 내부적으로 설정이 됐으니 println(); 은 어떻게 되느냐?
println()은 PrintStream에 정의되어 있어 PrintStream 출신인 out으로 접근이 가능합니다.
println()은 (2) 소스로 정의되어있습니다.
이과정을 거쳐 우리는 "Hello World"라는 단어를 콘솔에 출력하게 됩니다.
(※물론, 출력 과정은 이것보다 훨씬 더 내부적으로 복잡하게 구성되어있습니다. )
지금까지 출력을 하기 위해 System.out.println(); 이 어떤식으로 돌아가는지 자세히 뜯어보았습니다.
어떠신가요? 혹시 지금까지 암기해서 사용하고 있으셨지 않으셨나요?
이번기회에 System.out.println의 내용을 확실하게 알고 가시는건 어떨까요?
감사합니다.
다음은 입력편을 올리도록 하겠습니다!
'JAVA' 카테고리의 다른 글
[JAVA]3-1. 자바 뜯어보기 - 입력처리(StringTokenizer) (0) | 2018.08.28 |
---|---|
[JAVA]5. 자바 뜯어보기 - 클래스편 (0) | 2018.08.28 |
[JAVA]4. 자바 뜯어보기 - 자료형편 (0) | 2018.08.27 |
[JAVA]3. 자바 뜯어보기 - 입력편(BufferedReader) (0) | 2018.08.25 |
[JAVA]2. 자바 뜯어보기 - 입력편(Scanner) (0) | 2018.08.25 |
- Total
- Today
- Yesterday
- CNN
- V11
- GNN
- DeepLearning
- 초보자
- java
- YOLOv8
- docker
- yolov11
- 깃
- 디텍션
- 도커
- 정리
- 뜯어보기
- 어탠션
- YOLO
- Tree
- 오블완
- c3k2
- GIT
- 이미지
- 자바
- 오류
- 알고리즘
- python
- 티스토리챌린지
- 백준
- 욜로
- 딥러닝
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |