2025년 7월 9일 수요일(31일차)

Jeonghoon·2025년 7월 9일

jeonghoon's Study

목록 보기
33/128

🧠 Java 복습 정리 (메소드 · 생성자)


⚙️ [ 메소드 (Method) ]

항목설명
📘 정의하나의 기능을 수행하는 명령어(코드) 집합
📦 역할속성 → 데이터 저장 / 메소드 → 기능(명령어) 저장

🔹 [ 주요 용어 ]

용어설명예시
인수 (Argument)메소드 호출 시 전달되는 값obj.method(인수1, 인수2)
매개변수 (Parameter)인수를 전달받는 변수void method(int x, int y)
반환값 (Return Value)메소드 종료 시 반환되는 값return result;
반환타입 (Return Type)반환값의 자료형int method() { return 5; }

💡 주의할 점

  • 인수와 매개변수는 타입이 일치해야 함
  • 매개변수는 없을 수도 있음
  • 반환값은 항상 1개만 가능
  • 반환값이 없을 때는 void 사용

🧱 [ 메소드 선언 & 호출 ]

선언 방법

반환타입 메소드명(타입 매개변수1, 타입 매개변수2) {
    실행코드;
    return 반환값;
}

호출 방법

상황방법
다른 클래스의 메소드 호출클래스명 객체 = new 클래스명();객체.메소드명(인수);
같은 클래스의 메소드 호출메소드명(인수);

🚀 [ 생성자 (Constructor) ]

항목설명
📘 정의객체 생성 시 초기화 담당 함수
💡 특징반환값이 없으며, 클래스명과 동일한 이름을 가짐
🧩 사용법클래스명 변수명 = new 생성자명();

🧱 [ 생성자 규칙 ]

규칙설명
1️⃣클래스명과 동일해야 함 (다르면 메소드로 인식됨)
2️⃣반환타입이 없음
3️⃣오버로드 가능 (매개변수의 개수·타입·순서가 다를 때)

🔁 오버로드 (Overload)
동일한 이름의 생성자/메소드를 여러 개 선언하여 다양한 초기화 방식 제공.


🧩 [ 생성자 종류 ]

종류설명예시
기본 생성자매개변수가 없으며, 생성자가 없을 시 자동 추가public ClassName() {}
매개변수가 있는 생성자인수로 초기값을 전달받아 멤버변수를 초기화public ClassName(String name, int age) {}

💡 주의

  • 다른 생성자가 존재하면 기본 생성자를 직접 정의해야 함
  • 객체 생성 시 new 키워드와 함께 반드시 호출됨

🧩 [ 생성자의 목적 ]

항목설명
⚡ 빠른 초기화객체 생성 시 멤버변수 초기화
🔒 보안성 향상private 멤버 초기화 시 안정적인 접근 제공
🤝 협업 효율규칙적인 객체 생성으로 유지보수 용이

⚠️ [ 유의사항 ]

1️⃣ 클래스 내 멤버변수와 매개변수 이름이 동일하면?

this.model = model;
  • this : 현재 객체 자신을 가리킴
  • model = model; 은 불가능함 → 반드시 this 사용
  • 협업 시 가독성을 위해 멤버변수와 매개변수 이름을 동일하게 설정하는 것이 관례

2️⃣ 여러 기능이 존재할 때?

  • 유지보수와 협업을 위해 역할별 클래스로 분리
  • 즉, 각 클래스는 하나의 책임만 담당 (단일책임원칙)

🧱 [ 생성자 자동 생성 단축키 ]

💡 IntelliJ / Eclipse 공통 기능
1️⃣ 코드 파일 내 빈 공간 우클릭
2️⃣ "생성 → 생성자" 선택
3️⃣ 초기화할 멤버변수 선택 후 확인


🧩 [ 예제 코드 ]

class Car {
    String model;
    int year;

    // 기본 생성자
    public Car() {}

    // 매개변수가 있는 생성자
    public Car(String model, int year) {
        this.model = model;
        this.year = year;
    }

    // 메소드
    public void info() {
        System.out.println("모델: " + model + ", 연식: " + year);
    }
}

// 실행
Car car1 = new Car("쏘나타", 2023);
car1.info();

0개의 댓글