JAVA

27. 생성자

NamGH 2023. 8. 3. 17:15

생성자란?

 클래스와 이름이 같은 메서드
생성되는 이유: 객체를 만들떄마다 자동으로 생성
기본생성자(default생성자) : 생성자는 생성하지 않아도 기본적으로 하나가 존재
생성자는 return 타입이 없고 void를 사용할 수 없음
default 생성자 ~~ 이런 경우 자동으로 생성되지 않는다


Member(){ 
System.out.println("Member() 생성자"); //
id = "kim"
password = "1234";
}
Member(String a, String b){ 
System.out.println("Member(String a, String b) 생성자");
id = a;
password = b;
}

다음과 같이 meber라는 생성자가 두개지만 두 생성자의 매개변수가 다르면 사용할 수 있다

생성자를 생성하지 않아도 기본적으로 생성자는 존재한다 


public static void main(String[] args) {
Member m1 = new Member(); // 
m1.setId("park");
m1.setPassword("9876");
System.out.println(m1.getId());
System.out.println(m1.getPassword());
Member m2 = new Member();
System.out.println(m2.getId());
System.out.println(m2.getPassword());
Member m3 = new Member("nam", "456"); 
m3.setId("choi"); 
m3.setPassword("4567");
System.out.println(m3.getId());
System.out.println(m3.getPassword());
}

생성자를 만들때마다 자동으로 생성자를 호출함으로 값을 설정해 주지 않는다면 생성자에 설정한 값으로만 나온다

각각 매개변수가 다르기때문에 같은 이름의 생성자가 사용가능하