FIF's 코딩팩토리

패스트캠퍼스 챌린지 18일차 본문

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 18일차

FIF 2022. 2. 10. 12:37
반응형

여러가지 생성자를 정의하는 생성자 오버로딩

 

 

자바에서 오버로딩은 사용자의 편의성을 위해 만들어졌다.

오버로딩은 생성자를 구현하여 사용할 수 있다.

클래스에서 생성자를 따로 구현하면 기본 생성자(default constructor)는 제공되지 않는다.

생성자를 호출하는 코드(client코드)에서 여러 생성자 중 필요한 따라 호출해서 사용할 수 있다.

 

아래 코드를 살펴보자.

맴버변수는 모두 String으로 선언되어 있다.

그리고 생성자는 2개이다. 앞서 배웠듯이 생성자는 클래스 이름과 동일하다.

하나는 기본생성자 UserInfo(){} 이고, 다른 하나는 매개변수를 3개 받는 생성자

UserInfo(String userId, String userPassword, String userName) {

   this.userId = userId;

   this.userPassword = userPassword;

   this.userName = userName;

}

이다.

그리고 고객의 정보를 반환해주는 showUserInfo(){} 메서드가 있다.

public class UserInfo {

	public String userId;
	public String userPassWord;
	public String userName;
	public String userAddress;
	public String phoneNumber;
	
	public UserInfo(){}
	
	public UserInfo(String userId, String userPassWord, String userName) {
		this.userId = userId;
		this.userPassWord = userPassWord;
		this.userName = userName;
	}
	
	public String showUserInfo() {
		return "고객님의 아이디는 " + userId + "이고, 등록된 이름은 " + userName + "입니다."; 
	}
}

 

메인 메서드에서 UserInfo 클래스의 인스턴스를 생성한 후 값을 대입하고 출력해보면 잘 나오는걸 볼 수 있다.

이때, 생성자를 선언한 후 값을 넣을 수도 있지만

UserInfo userKim = new UserInfo("b12345", "09876mnbvc", "Kim");

이런식으로 인스턴스를 만드는 동시에 매개변수 3개의 생성자를 사용하여 선언과 동시에 값을 넣을 수도 있다.

public class UserInfoTest {

	public static void main(String[] args) {

		UserInfo userLee = new UserInfo();
		userLee.userId = "a12345";
		userLee.userPassWord = "zxcvbn12345";
		userLee.userName = "Lee";
		userLee.phoneNumber = "01034556699";
		userLee.userAddress = "Seoul, Korea";
		
		System.out.println(userLee.showUserInfo());
		
		UserInfo userKim = new UserInfo("b12345", "09876mnbvc", "Kim");
		System.out.println(userKim.showUserInfo());
	}
}

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 

 

 

 

 

 

 

 

반응형
Comments