Java

[Java] 생성자란?

건휘맨 2024. 5. 31. 17:37

자바에서 생성자(Constructor)는 클래스의 인스턴스(객체)를 초기화하는 특수한 메서드.

생성자는 클래스가 인스턴스화될 때 호출되며, 객체의 초기 상태를 설정하는 역할

특징으로는

  • 클래스의 이름과 동일하며 반환 타입이 없다.
  • 객체가 생성될 때 호출된다.
  • 기본 생성자는 명시적으로 작성하지 않아도 컴파일러가 자동으로 제공해준다(다른 생성자가 없을 때).
  • 여러 개의 생성자를 오버로딩할 수 있다.

생성자를 통해 객체의 초기 상태를 설정하고 필요한 초기화 작업을 수행할 수 있다.


public class Member {
	
	String name;
	String tel;
	String address;
	
    // 아래 함수는 눈에 보이지않게 자동으로 만들어지는 함수
	// Constructor(생성자)라고 한다
	Member(){
		
	}
	
    // 생성자 오버로딩
	// 위의 디폴트생성자 말고 이렇게 생성자 오버로딩으로 생성자를 만들면
	// 꼭 위의 Member() 이 디폴트 생성자를 눈에 보이게 만들어 놓아야한다
	Member(String pName, String pTel, String pAddress){
		name = pName;
		tel = pTel;
		address = pAddress;
	}	
	
	void setMember(String pName, String pTel, String pAddress){
		name = pName;
		tel = pTel;
		address = pAddress;
	}
	
}

 

 

클래스를 활용한다.

public class MemberMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 객체 생성
		// 1. 메모리 공간 확보
		Member m1 = new Member();
        
        // 2. 데이터 저장
		m1.name = "홍길동";
		m1.tel = "010-1234-1234";
		m1.address = "인천 서구 길동이네";
		
		Member m2 = new Member();
		m2.setMember("김나나", "010-3333-3333", "인천 서구 나나네");
        
        // Constructor(생성자)를 이용해 메모리 공간 확보와 데이터 저장을 한줄로 처리		
		Member m3 = new Member("아이유", "010-3111-2213", "인천 서구 아이유네");
	}

}