클래스의 작성

Java
(1) 패키지 선언문
(2) import

(3) class 정의
    (4) 멤버 변수
    (5) 멤버 메서드
    (6) 생성자
    (7) 이너 클래스
    (8) 초기화자

(1) 패키지 선언문

package top.sub.---;

  • 0개 또는 1개 존재(한 클래스는 여러 패키지에 속할 수 없음)
  • 유일한 패키지명을 위해 보통 domain 이름의 역순으로 패키지를 설정
  • 폴더, 네임스페이스 개념

(2) import

import top.sub.class명; 또는 import top.sub.*;

  • 0개 또는 다수개 존재
  • 현 클래스에서 참조하는 클래스가 자신과 같은 패키지가 아닌 경우 명시(단, java.lan 패키지는 자동으로 import됨)
  • 클래스명.멤버 형태로 사용
  • *의 경우 모든 클래스와 인터페이스를 import함

(3) class 정의

* ’[ ]‘의 경우 생략 가능함

[접근지정자] [활용지정자] class 클래스명 [extends 부모클래스명] [implements 부모인터페이스명]

  • 1개 또는 다수개 존재
  • 접근지정자 : default, public만 올 수 있음
  • 활용지정자 : final, static 등
  • 클래스 이름 명명규칙 : 명사형 + 대문자형 첫글자 + 복합어일 경우 첫글자 대문자(카멜 케이스)
  • extends : 자바의 경우 단일 상속만 지원하므로 0개 또는 1개만 존재
  • implements : 인터페이스는 다중 상속 가능하므로 0개 또는 다수개 존재

(4) 멤버 변수

[접근지정자] [활용지정자] dataType 변수명 [=초기값];

  • 접근지정자 : private, default, protected, public 모두 가능
  • 활용지정자 : final, static, transient 등
  • 변수 이름 명명규칙 : 명사형 + 소문자형 첫글자 + 복합어일 경우 첫글자 대문자
  • 초기값 : 생략 시 기본값 자동 초기화

(5) 멤버 메서드

[접근지정자] [활용지정자] returnType 메서드명 ([dataType 매개변수, ---]) [throws Exception명 ---] { [return 리턴값;] }

  • 접근지정자 : private, default, protected, public 모두 가능
  • 활용지정자 : final, static, abstract, synchronized 등
  • returnType : void 또는 데이터 타입 명시
  • 메서드 이름 명명규칙 : 동사형 + 소문자형 첫글자 + 복합어일 경우 첫글자 대문자
  • throws : 예외 클래스로 예외 처리
  • return : returnType이 void일 경우 생략 가능. 아닐 경우 returnType의 데이터 타입에 맞게 반환해야 함. 0개 또는 다수개 존재 가능

(6) 생성자

[접근지정자] 클래스명과동일한생성자 ([dataType 매개변수, ---]) [throws Exception명 ---] { }

  • 접근지정자 : 4개 모두 가능
  • 생성자 : 클래스명과 동일하게 해야함