1. 자바 클래스
  ㅇ 자바 언어는, 완전한 객체지향 언어임
     - 모든 것을 객체로 표현하고, 
     - 객체를 조립해가며 프로그램을 완성하게 됨
  ㅇ 사실상, 자바 언어로된 프로그램은, 곧 자바 클래스 모음 임
     - (자바 프로그램 = 클래스 모음)
        . 클래스 내부에, 모든 프로그램 요소들이 있어야 하며,
        . 클래스 외부에는, package 선언,import 문장 외에 아무 것도 쓰지 못함
2. 자바 클래스 정의 문법
     (접근 제어자) class 클래스명 {
     멤버 변수;
     메소드;
}
  ㅇ 접근 제어자 (Access Modifier)    ☞ 수식자(Modifier)참조
     - 다른 클래스로부터의 접근 허용 정도를 제어하는 것
  ㅇ class : 클래스 이름 및 코드 작성이 시작됨을 컴파일러에게 알려주는 키워드
  ㅇ 클래스명 : 자바 명명규칙 참조
  ㅇ { 멤버변수; 메소드; } : 대부분의 프로그램 요소가 이 안에 포함됨
3. 자바 프로그램/애플리케이션
  ㅇ (public 클래스)
     - 하나의 자바 애플리케이션 소스 파일 내에, 여러 클래스가 있을 수 있지만,
        . public 클래스는 단 하나이어야 하고,
        . public 클래스 이름과 자바 소스 파일(xx.java) 이름은 같아야 함
           .. 만일, 자바 소스 파일 내 public 클래스가 없으면, 
           .. 자바 소스 파일 이름은 소스 파일 내 어떤 클래스 이름이라도 괜찮음
           .. 또한, 소스 파일명은, 클래스 명칭 상의 대소문자 구분도 그대로 따라야 함
  ㅇ (실행 시작점)
     - 자바 프로그램은, 항상 main 메소드에서 시작함 
     - 작성된 자바 프로그램을 실행하려면, 
        . java 다음에 main 메소드를 포함하는 클래스의 이름을 적어주면 됨
  ㅇ 例)
      import java.xxx.xxx; //자바 라이브러리 사용 등록
public class test {  // 코드는 반드시 test.java 파일 내 있음 (클래스명 = 파일명)
    public static int otherMethod() {
        xxxx;
        ....
    }
    public static void main() {  // 항상 main 메소드가 실행 시작점임
        xxxx;
        ....
    }
}
3. [참고사항]
 
  ㅇ 모든 클래스의 부모 클래스  :  Object 클래스 (java.lang.Object)
     - 매우 다양한 메소드들을 이로부터 상속 받을 수 있음
        . 객체 처리용 : clone(), equals(), finalize(), getClass(), hasCode(), toString() 등
        . 쓰레드 처리용 : notify(), notifyAll(), wait() 등
  ㅇ 클래스를 만들 수 있는 것  :  class, interface, abstract 클래스
     - interface, abstract 클래스 : 선언과 구현을 구분 가능케 하여, 기능 구현에 집중하는 등