목록전체 글 (122)
예지의 테크 로그포스 (Yeji's Tech Log Force)
오늘 글은 '챌린지'에 가깝다 ㅋㅋ!! 지금까지 공부한 Java개념을 최~대한 접목시켜서 API를 열심히 뒤져가며 System.out.println()를 분석해보려고 한다. 매우 구구절절 꼬리에 꼬리를 묻는 글이라 분량 조절은 실패일듯 하지만..재밌는 글이 될 것 같다ㅎ.ㅎ - Naming convention, CamelCase - Dot Operator ( . ) - Has a / Is a - Extends - Access Modifier - Overloading / Overriding - println() 호출, toString() - I/O - Synchronized, write시 동기화 문제 - Exception - 최상위 클래스 Object 1. Naming convention (CamelCas..
많은 사람들이 print(), println() 등 출력메서드를 사용할 때 toString()을 생략해도 된다! 라고 생각만 하거나 혹은 몰랐지만 그냥 그렇게 썼다거나 할 것이다. 도대체 왜 그런지 갑자기 궁금해서 패키지 소스코드를 뒤져봤다. 1. println() //파라미터가 boolean println() public void println(boolean x) { synchronized (this) { print(x); newLine(); } } //그 외 여러 오버로딩 된 println() . . . println()을 살펴보니 print()를 호출하고, 줄바꿈을 한다. 이것이 흔히 알고있는 print와 println(줄바꿈)의 차이이다. 2. print() //파라미터가 char인 print()..
지난 글에서 모든 Class들의 최상위 클래스가 Object라는 것을 살펴보았고, Object의 toString()메서드를 각 클래스들이 어떻게 오버라이딩해서 쓰고 있는지 확인했다. 이번에는Object의 메서드 중 equals()메서드를 살펴보려고 한다. Object obj를 파라미터로 받는 메서드인 만큼, Reference타입의 Casting에 대해서도 언급하려고 한다! 1. (인스턴스1 == 인스턴스2) 의 결과는?? 아래와 같이 Example 클래스를 인스턴스화 하여 1, "안녕"으로 상태 값을 설정했다고 하자. // Example클래스의 인스턴스 e1, e2생성 Example e1 = new Example(1, "안녕"); Example e2 = new Example(1, "안녕"); 이처럼 두 ..
Java를 공부해 본 사람이라면 다들 이런 말은 들어보셨을 것이다. Object는 모든 Class들의 최상위 클래스다. OOP를 공부하면서 Object 클래스를 제대로 살펴보지 않을 수는 없지!!! 우선 위의 말이 진짜인지 내 두 눈으로 직접 봐야겠다. API docs를 살펴보자!!! 1. 진짜 그런가요? 아~~~무 클래스나 눌러봤다. Hierarchy부분을 보면 java.lang.Object를 공유하고 있는 것을 알 수 있다. 다른 클래스도 아~~~무거나 눌러봤다. 얘 또한 마찬가지!!! 뭘 들어가봐도 전부 java.lang.Object가 최상위에 있는 것을 확인할 수 있다. 그럼 이제 Object 클래스도 한 번 살펴보자. java.lang.Object는? Hierarchy부분에 유일하게 상위 클래스..