클래스의 사용

  1. 메소드 : 클래스 정의 내부에 존재. 헤더와 몸체로 구성됨
    [접근 제어자] 반환형 메소드이름([자료형인자[, 자료형인자...]]) [throw 예외이름] {
     문장
    }
    


  1. 생성자
    • 객체가 생성될 때 자동으로 실행되는 메소드
    • 객체의 필드값을 초기화하거나 메모리 할당 등의 작업
    • 객체 생성 방법은 new 클래스이름(인자). 객체를 생성할때 자동 호출 됨
    • 생성자 정의
      • 생성자 이름은 클래스 이름과 같음
      • 반환형을 선언하지 않음
      • 여러 생성자를 정의할 수 있음 (생성자 오버로딩)
      • 접근 제어자는 보통 public

  2. 기본 생성자
    • 인자가 없는 생성자. 디폴트 생성자
    • 클래스 정의에 한개의 생성자 정의도 없으면 컴파일러가 다음과 같은 것을 자동으로 만들어 줌
    • 생성자 몸체의 첫 줄에 부모 생성자의 명시적 호출이 없다면 super();가 자동으로 들어감
    • 따라서 부모 클래스에서 기본 생성자의 존재를 확인해야 함

  3. 클래스의 사용
    • 변수를 선언하고 객체를 생성
    • extends : 상속을 위해 사용

  4. 객체의 사용
    • 객체 변수와 점(.) 연산자를 사용하여 멤버에게 접근
    • 객체가 소유하는 데이터(인스턴스 변수)를 읽거나 쓰고 메소드를 호출

  5. static 필드
    • 정적 필드 or 클래스 변수
    • 클래스의 모든 객체가 공유하는 데이터
    • 객체의 생성이 없어도 항상 사용 가능
    • 어떤 객체도 값을 변경할 수 있음
    • 사용 방법은 클래스이름.정적필드 (객체변수.정적필드도 가능은하나 권장하지않음)

  6. static 메소드
    • 정적 메소드 or 클래스 메소드
    • 객체와 무관하게 호출되고 실행됨
    • 메소드 몸체에서 this를 사용할 수 없음
    • static 필드와 인자를 가지고 작업함
    • 사용 방법은 클래스이름.정적메소드(인자) (객체변수.정적메소드도 가능은하나 권장하지않음)

  7. final 필드
    • 상수 데이터를 선언
    • 선언할 때 초기값을 지정해야 함
    • 자주 static과 함께 사용됨

  8. final 메소드
    • 자식 클래스로 상속은 가능하나 재정의 할 수 없는 메소드

  9. 객체 초기화
    • 객체를 생성할 때, 데이터 필드에 초기값을 지정하는 것
    • 클래스 변수는 프로그램 시작 시에 자동 초기화 됨
    • 데이터 필드는 자동으로 초기값이 주어질 수 있음

  10. 메소드 오버로딩
    • 인자의 개수나 인자의 자료형이 다르면 같은 이름의 메소드를 한 클래스에서 여러개 정의할 수 있음
    • 인자의 개수와 자료형이 정확히 일치하면 중복 정의 불가
    • 메소드를 호출할 때, 가장 가까운 매개변수 목록을 가진 메소드가 호출 됨

Updated: