발전을 위한 기록

[Java] 자바 클래스(Class) 이해하기 본문

프로그래밍/자바

[Java] 자바 클래스(Class) 이해하기

릴릴2 2024. 2. 5. 23:42

💻 클래스(Class) 정의

  • 객체 지향 프로그래밍의 핵심으로, 데이터와 이를 조작하는 메소드를 하나로 묶어 객체를 생성하는 틀입니다.
  • 클래스 정의는 class 키워드를 사용하며, 필드(속성)와 메소드(함수)로 구성됩니다.

기본 구문

class ClassName {
    // 필드, 메소드, 생성자 등
}

예제

class Student {
    String name; // 학생 이름
    int age;     // 학생 나이
    String studentNumber; // 학번

    // 생성자
    Student(String name, int age, String studentNumber) {
        this.name = name;
        this.age = age;
        this.studentNumber = studentNumber;
    }

    // 이름, 나이, 학번 출력 메소드
    void printStudentInfo() {
        System.out.println("Name: " + name + ", Age: " + age + ", Student Number: " + studentNumber);
    }
}

public class Main {
    public static void main(String[] args) {
        // Student 클래스 객체 생성 및 초기화
        Student student = new Student("김철수", 20, "S12345678");
        // 정보 출력
        student.printStudentInfo();
    }
}

1. Student 클래스 정의

class Student {
    String name; // 학생의 이름
    int age;     // 학생의 나이
    String studentNumber; // 학생의 학번
}
  • 'Student' 라는 클래스를 만들어줍니다. 
  • 클래스는 학생 정보를 담는 하나의 틀과 같습니다. 

2.생성자

Student(String name, int age, String studentNumber) {
    this.name = name;
    this.age = age;
    this.studentNumber = studentNumber;
}
  • 클래스에서 생성한 객체의 초기 상태를 설정합니다. 
  • 초기 상태를 설정하는 이유는 객체가 사용되기 전 올바른 데이터와 상태를 가지고 시작할 수 있도록 하기 위함입니다. 

3. 출력 메소드

void printStudentInfo() {
    System.out.println("Name: " + name + ", Age: " + age + ", Student Number: " + studentNumber);
}
  • 학생 정보를 출력하는 printStudentInfo메소드입니다.
  • 메소드에 리턴값이 없기 때문에 void로 선언해줍니다. 

4. main 클래스

public class Main {
    public static void main(String[] args) {
        Student student = new Student("김철수", 20, "S12345678");
        student.printStudentInfo();
    }
}

Student student = new Student("김철수", 20, "S12345678");

  • 1번에서 만들었던 Student클래스를 사용해서 틀에 맞는 학생 정보를 넣어줍니다. 

student.printStudentInfo();

  • 3번에서 만든 메소드를 호출해 학생정보를 출력합니다.
728x90