[Java] 자바기초, (멤버, 생성자 등)

Posted by nkjok
2025. 2. 2. 13:31 낙서장[1]/91. Java
반응형

자바에서 멤버 함수(메서드)는 클래스 내에 정의된 함수로, 객체의 동작을 정의하는 데 사용된다. 멤버 함수는 객체의 상태를 변경하거나 객체의 데이터를 처리하는 역할을 한다. 예를 들어, 아래의 코드는 간단한 Person 클래스를 정의하고 멤버 함수(메서드)를 포함하고 있다:


public class Person {
    // 멤버 변수 (필드)
    private String name;
    private int age;

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

    // 멤버 함수 (메서드)
    public void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }

    // Getter 메서드
    public String getName() {
        return name;
    }

    // Setter 메서드
    public void setName(String name) {
        this.name = name;
    }

    // Getter 메서드
    public int getAge() {
        return age;
    }

    // Setter 메서드
    public void setAge(int age) {
        this.age = age;
    }
}

public class Main {
    public static void main(String[] args) {
        // Person 객체 생성
        Person person = new Person("John", 30);

        // 멤버 함수 호출
        person.displayInfo();

        // Getter 메서드 호출
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());

        // Setter 메서드 호출
        person.setName("Alice");
        person.setAge(25);

        // 변경된 정보 출력
        person.displayInfo();
    }
}
 

위의 예시에서:

  • Person 클래스는 두 개의 멤버 변수(name, age)를 가지고 있다.
  • 생성자는 Person 객체가 생성될 때 호출되며, name과 age를 초기화한다.
  • displayInfo 메서드는 Person 객체의 정보를 출력하는 멤버 함수이다.
  • getName, setName, getAge, setAge 메서드는 각각 name과 age를 가져오고 설정하는 역할을 한다.

이처럼 멤버 함수는 객체의 동작을 정의하고, 객체의 상태를 변경하거나 데이터를 처리하는 데 사용된다. 


public class Person {
    // 멤버 변수 (필드)
    private String name; // 'name'이라는 private 필드를 선언한다.
    private int age;     // 'age'라는 private 필드를 선언한다.

    // 생성자
    public Person(String name, int age) { // 'name'과 'age'를 매개변수로 받는 생성자를 정의한다.
        this.name = name; // 전달된 'name' 매개변수를 'this.name'에 저장한다.
        this.age = age;   // 전달된 'age' 매개변수를 'this.age'에 저장한다.
    }

    // 멤버 함수 (메서드)
    public void displayInfo() { // 'displayInfo'라는 멤버 함수를 정의한다.
        System.out.println("Name: " + name); // 'name' 필드를 출력한다.
        System.out.println("Age: " + age);   // 'age' 필드를 출력한다.
    }

    // Getter 메서드
    public String getName() { // 'name' 필드를 반환하는 'getName' 메서드를 정의한다.
        return name; // 'name' 필드를 반환한다.
    }

    // Setter 메서드
    public void setName(String name) { // 'name' 필드를 설정하는 'setName' 메서드를 정의한다.
        this.name = name; // 전달된 'name' 매개변수를 'this.name'에 저장한다.
    }

    // Getter 메서드
    public int getAge() { // 'age' 필드를 반환하는 'getAge' 메서드를 정의한다.
        return age; // 'age' 필드를 반환한다.
    }

    // Setter 메서드
    public void setAge(int age) { // 'age' 필드를 설정하는 'setAge' 메서드를 정의한다.
        this.age = age; // 전달된 'age' 매개변수를 'this.age'에 저장한다.
    }
}

public class Main {
    public static void main(String[] args) { // 메인 메서드를 정의한다.
        // Person 객체 생성
        Person person = new Person("John", 30); // 'John'과 30을 매개변수로 하여 'Person' 객체를 생성한다.

        // 멤버 함수 호출
        person.displayInfo(); // 'displayInfo' 메서드를 호출하여 'John'과 30을 출력한다.

        // Getter 메서드 호출
        System.out.println("Name: " + person.getName()); // 'getName' 메서드를 호출하여 'name'을 출력한다.
        System.out.println("Age: " + person.getAge());   // 'getAge' 메서드를 호출하여 'age'를 출력한다.

        // Setter 메서드 호출
        person.setName("Alice"); // 'setName' 메서드를 호출하여 'name'을 'Alice'로 변경한다.
        person.setAge(25);       // 'setAge' 메서드를 호출하여 'age'를 25로 변경한다.

        // 변경된 정보 출력
        person.displayInfo(); // 'displayInfo' 메서드를 다시 호출하여 'Alice'와 25를 출력한다.
    }
}
 
반응형