TIL - 20250625

juni·2025년 6월 25일

TIL

목록 보기
47/316

📘 Java 메서드 및 클래스 기초 학습 정리 (0625)

✅ 메서드의 개념

  • 자바는 함수 개념 없이 메서드만 존재 (클래스 내부에서만 정의 가능)
  • 메서드는 객체의 기능을 정의하며 클래스 내부, 메서드 외부에 선언
static int add(int a, int b) {
    return a + b;
}
  • main() 메서드는 자바 프로그램의 시작점

✅ 가변 인자 메서드 (varargs)

  • 파라미터 개수가 정해지지 않은 경우 int... numbers 형식 사용
  • 내부적으로 배열로 처리됨
static int addAll(int... numbers) {
    int total = 0;
    for (int n : numbers) total += n;
    return total;
}

✅ 여러 개 반환하기

  • 배열 또는 객체를 통해 여러 값 반환 가능
int[] multiReturn(int n1, int n2) {
    return new int[] { n1 + n2, n1 - n2 };
}

✅ 배열 기반 데이터 조작 메서드 실습

  • 배열에 push / pop / remove / insert / modify 기능 직접 구현
public static void push(String food) {
    String[] temp = new String[foods.length + 1];
    ... // 기존 값 복사 후 마지막에 삽입
    foods = temp;
}
  • indexOf(), include() 등 검색 기능도 직접 구현

✅ 클래스와 객체

  • 클래스를 통해 객체 생성 (new 사용)
  • 객체는 속성(필드)과 기능(메서드)으로 구성

예시 클래스: Dancer

class Dancer {
    String dancerName;
    String crewName;
    String[] genres;
    int danceLevel;

    void dance() { ... }
    void introduce() { ... }
}
  • 생성자(Constructor): 객체 생성 시 자동 실행되는 특수 메서드
Dancer(String name, String crew, String... genres) {
    this.dancerName = name;
    this.crewName = crew;
    this.genres = genres;
}
  • 생성자 오버로딩 지원: 파라미터가 다르면 여러 개 선언 가능

✅ 실습 예제 클래스

▶ BankAccount

  • 입금, 출금, 잔액 조회 기능
void deposit(double amount) { ... }
void withdraw(double amount) { ... }
void displayBalance() { ... }

▶ Student

  • 학번, 이름, 학년 관리 / 학년 증가 기능
void updateGrade() { ... }
void printStudentInfo() { ... }

총정리

  • 자바에서 메서드는 클래스 내부에서만 정의 가능하며 다양한 방식으로 오버로딩 가능
  • 배열 기반 메서드 구현을 통해 함수 분리 및 로직 재사용 연습
  • 클래스를 활용한 객체 생성 및 속성/기능 구성 개념 학습

0개의 댓글