[Section 1] 객체 지향 프로그래밍 기초 (생성자, 내부클래스)

dohyoungK·2023년 4월 24일
0

객체 지향 프로그래밍 (OOP)

  • 생성자 (Constructor)

    : new를 통해 인스턴스가 생성될 때 호출되어 인스턴스 변수들을 초기화할 때 사용되는 특수 메서드

    • 생성자의 구조, 특징

      클래스명(매개변수) {
         ...
      }
      • 리턴 타입이 없음
      • 클래스 이름과 같은 이름을 가짐
    • 기본 생성자

      : 매개변수가 없는 생성자
    • 매개변수가 있는 생성자

      : 매개변수를 입력으로 받아 인스턴스 변수를 초기화할 수 있다
    • this()

      : 자신의 클래스 안에서 생성자를 호출할 때 사용하는 메서드
      class Car {
         public Car() {
            System.out.println("기본 생성자");
         }
         
         public Car(int num) {
            this(); // 위의 Car() 생성자를 호출하며 "기본 생성자"가 출력된다.
            System.out.println("두번째 생성자");
         }
      }
      • 반드시 생성자 내부에서만 사용 가능
      • 반드시 생성자 내부의 첫 줄에서만 사용 가능
    • this

      : 매개변수가 있는 생성자에서 매개변수와 인스턴스 변수의 이름을 구분하기 위해 인스턴스를 가리키는 키워드
      class Car {
         private String color;
         private String name;
         
         public Car(String color, String name) {
            this.color = color;
            this.name = name;
         }
      }

  • 내부 클래스 (Inner Class)

    : 클래스 내부의 클래스 (외부 클래스의 멤버에 쉽게 접근 가능하고, 코드의 복잡성을 줄일 수 있다.)

    • 인스턴스 내부 클래스

      : 외부 클래스의 인스턴스 변수 위치에 선언 (외부 인스턴스 변수, 외부 전역 변수 사용 가능)
    • 정적 내부 클래스

      : 외부 클래스의 인스턴스 변수 위치에 static을 붙여 선언 (외부 전역 변수 사용 가능)
    • 지역 내부 클래스

      : 외부 클래스의 메서드나 초기화 블록 안에 선언 (외부 인스턴스 변수, 외부 전역 변수 사용 가능)
    • 익명 내부 클래스

      : 클래스의 선언과 객체 생성을 동시에 하는 일회용 클래스 (외부 인스턴스 변수, 외부 전역 변수 사용 가능)

0개의 댓글