생성자, Getter, Setter

현재·2024년 1월 22일

생성자

  • 외부에서 클래스를 선언할 때 = new 클래스 이름; 가장 먼저 실행 되는 것
    클래스 명과 생성자 명은 같아야 함.
public class Example {

	String name;
    String hobby;
    int age;
    
    //기본적인 클래스의 생성자로써 default값으로 숨겨저 있다.
    //다른 생성자가 없을 시 기본 생성자가 실행된다.
    //다른 생성자가 있고 default 생성자를 사용할 시 따로 생성해야 한다.
    public Example() {}
    
    //클래스 생성될 때 필드 값 초기화 
    //매개변수로 필드 값을 받아야 한다
    //외부에서 클래스가 생성될 때 필드 값을 받아줄 공간이 필요하다
    // IntelliJ 단축키 alt + insert 생성자 생성
    public Example(String _name, String _hobby, int _age) {
    	this.name = _name; // this는 클래스 해당 클래스 이름
        this.hobby = _hobby;
        this.age = _age;
    }

}

생성자 활용

public class Main {

	public static void main(String[] args) {
	//외부 Main함수에서 Example 클래스를 생성할 때
    //괄호안의 값(인자)들은 Example 생성자의 파라미터(매개변수)로 들어간다.
	Example example = new Example(_name "aaa",_hobby "bbb",_age 15); 
    }
}

Getter and Setter

  • 외부에서 클래스를 생성했을 때 생성자의 파라미터에 맞게 인자를 다 넣어준 것과 달리 각각의 값을 각각 집어 넣을수 있다.
public String getName() {
	return name;
}

public String getHobby() {
	return name;
}

public int getAge() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public void setHobby(String hobby) {
	this.hobby = hobby;
}

public void setAge(int age) {
	this.age = age;
}

Getter and Setter 활용

public class Main {
	public static void main(String[] args) {
    	//파라미터 세 개가 있는 생성자가 있으니 따로 default 생성자를 생성하여 외부에서 사용
    	Example example = new Example();
        user.setName("aaa"); // Setter로 name 값만 설정
        
        System.out.println(user.getName()); //Getter로 가져와서 출력
        }
}
        
public class Example {
	String name;
    String hobby;
    int age;
    
    public Example() {}
    
    public Example(String _name, String _hobby, int _age) {
    	this.name = _name;
        this.hobby = _hobby;
        this.age = _age;
    }
    
    //Getter and Setter
        public String getName() {
        return name;
    }

    public String getHobby() {
        return name;
    }

    public int getAge() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

0개의 댓글