Hadoop의 MapReduce를 해보려는데, Java 문법이 아리송해서 책을 집어들었다.
역시나 C/C++와 다른 점만 책에 표시하데 되더라.
책을 읽고 Java에 대해 든 생각은, ‘좋은 언어’라는 것이다.
C/C++보다 속도는 조금 느릴지라도, 문법도 비슷하고, 무엇보다도 어렵고 문제가 생기기 쉬운 부분(포인터, 전역변수 등)이 없어져서 좋다.
덤으로, 안드로이드는 개발에 돈이 안 든다는 거! ㅋ (시뮬레이터는 느리다지만;;;)
- conventions
- class name ex: TestJava, BankUI
- method and variable name ex: idNo, processWork()
- enum: STATUS
- variable types:
- byte/short/int/long : 1/2/4/8 byte (default: 0)
- float/double/char : 4/8/2 byte (default: 0)
- boolean : 1bit (default: false)
- if ( human instanceof Mammal )
- == vs equals()
- ==: 같은 객체를 가리키는가?
- equals(): 내용이 같은가?
- try { 시도 } catch(Exception e){ 예외 처리 } final{ 꼭 실행 }
- 접근성
- private + same package : default(friendly)
- default(friendly) + subclass : protected
- protected + all classes : public
- class의 관계
- 상속(extends): only one
- 구현(implements): many abstract classes
- String/StringBuffer/StringTokenizer class
- for(String line : lines)