일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring
- 자바연습문제
- linux
- 스프링
- 리눅스
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 디자인
- java기초
- 패캠챌린지
- 직장인자기계발
- javabasic
- 자바기초
- 데이터베이스
- 웹
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 디자인패턴
- ncs
- 패스트캠퍼스후기
- js
- 국비
- DesignPattern
- 재택근무
- 패스트캠퍼스
- DB
- 자바예제
- 자바
- java
- String
- 자바기본
- 직장인인강
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 18일차 본문
여러가지 생성자를 정의하는 생성자 오버로딩
자바에서 오버로딩은 사용자의 편의성을 위해 만들어졌다.
오버로딩은 생성자를 구현하여 사용할 수 있다.
클래스에서 생성자를 따로 구현하면 기본 생성자(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());
}
}
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 20일차 (0) | 2022.02.12 |
---|---|
패스트캠퍼스 챌린지 19일차 (0) | 2022.02.11 |
패스트캠퍼스 챌린지 17일차 (0) | 2022.02.09 |
패스트캠퍼스 챌린지 16일차 (0) | 2022.02.08 |
패스트캠퍼스 챌린지 15일차 (0) | 2022.02.07 |