<aside> 💡 학습 목표
this 3가지 사용 방법을 알자
this 란
- 인스턴스(객체) 자신의 메모리를 가리킨다.
- 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다.
- 자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다.
this.
수정 코드 this() 생성자의 사용
package com._this;
/**
* 클래스 설계하는 측 코드
*/
public class Person {
//this 에 3가지 사용법
// 1.자기 자신의 주소를 가리킴
// 2.생성자에서 다른 생성자를 호출할때 사용할 수 있다
// 3.자신의 주소를 반환 시킬 수 있다.
private String name;
private int age;
private String phone;
private String gender;//f , m
//첫번째 생성자 사용방법 this.
// 1.사용 방법(문법,왜)
public Person(String name, int age){
// 매개변수 = 매개변수
// 맴버 변수 = 매개변수
this.name = name;
this.age = age;
System.out.println("1번 생성자 호출 됨");
}
//2. 사용방법 this(); <-----
// this는 생성자에서 다른 생성자를 호출할 수 있다.
public Person(String name,int age, String phone) {
//System.out.println("11111111111111111");
//this.name =name;
//this.age = age;
this(name, age);// 두번째 사용법
this.phone = phone;
System.out.println("2번 생선자 호출 됨");
}
public Person(String name, int age, String phone, String gender){
this(name, age, phone);
this.gender= gender;
System.out.println("3번 생성자 호출 됨");
}
}
실행 !!
package com._this;
public class PersonMainTest {
public static void main(String[] args) {
// Person p1 = new Person("홍길동",10,"010-1234-1234");
Person p1 = new Person("홍길동",10,"010-1234-1234","F");
}
}
한번더!!1
package com._this;
public class UserInfo {
private String userId;
private String userPassword;
private String userName;
private String userAddress;
private String userNumber;
//생성자 매개변수 1개 ~ 5개 즉 , 생성자 5개 만들어 주세요(생성자 오버로딩)
public UserInfo(String userId) {
this.userId = userId;
}
public UserInfo(String userId, String userPassword) {
this(userId);
this.userPassword = userPassword;
}
public UserInfo(String userId, String userPassword, String userName) {
this(userId, userPassword);
this.userName = userName;
}
public UserInfo(String userId, String userPassword, String userName, String userAddress) {
this(userId, userPassword, userName);
this.userAddress = userAddress;
}
public UserInfo(String userId, String userPassword, String userName, String userAddress, String userNumber) {
this(userId, userPassword, userName, userAddress);
this.userNumber = userNumber;
}
// getter 메서드 만들어주세요
public String getUserId() {
System.out.printf("ID : ");
return userId;
}
public String getUserPassword() {
System.out.printf("pw : ");
return userPassword;
}
public String getUserName() {
System.out.printf("name : ");
return userName;
}
public String getUserAddress() {
System.out.printf("address : ");
return userAddress;
}
public String getUserNumber() {
System.out.printf("number : ");
return userNumber;
}
// setter 메서드 만들어주세요
public void setUserId(String userId) {
// 멤버 변수 = 외부값
this.userId = userId;
}
public void setUserPassword(String userPassword) {
// 멤버 변수 = 외부값
this.userPassword = userPassword;
}
public void setUserName(String userName) {
// 멤버 변수 = 외부값
this.userName = userName;
}
public void setUserAddress(String userAddress) {
// 멤버 변수 = 외부값
this.userAddress = userAddress;
}
public void setUserNumber(String userNumber) {
// 멤버 변수 = 외부값
this.userNumber = userNumber;
}
}
실행 값
package com._this;
import org.w3c.dom.ls.LSOutput;
public class UserInfoMainTest {
public static void main(String[] args) {
UserInfo userInfo1 = new UserInfo("집","키","길동","부산","123");
System.out.println( userInfo1.getUserId());
System.out.println( userInfo1.getUserPassword());
System.out.println( userInfo1.getUserName());
System.out.println( userInfo1.getUserAddress());
System.out.println( userInfo1.getUserNumber());
}
}
'JAVA 객체 지향 핵심' 카테고리의 다른 글
(JAVA)static 키워드에 이해 - 9 (0) | 2025.04.17 |
---|---|
(JAVA) 스타크래프트 만들어 보기 - 1단계 (0) | 2025.04.17 |
(JAVA) 접근 제어 지시자(access modifier) - (0) | 2025.04.16 |
(JAVA)함수, 메서드 생성자 복습 - 6_1 (0) | 2025.04.16 |
(JAVA)함수,메서드, 생성자란 (0) | 2025.04.15 |