[Java]Java 문법이 C와 다른 점

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)