728x90
자바를 처음 배우는 분들을 위해, 생성자(Constructor)를 활용한 간단한 주소록 프로그램을 만들어보겠습니다. 이 프로그램은 이름, 전화번호, 주소를 저장하고 관리하는 기능을 갖추고 있습니다.
1. Member 클래스 정의하기
먼저, Member라는 클래스를 만들어서 이름, 전화번호, 주소를 저장해보겠습니다.
public class Member {
String name; // 이름
String tel; // 전화번호
String address; // 주소
// 기본 생성자
public Member() {
}
// 매개변수가 있는 생성자
public Member(String name, String tel, String address) {
this.name = name;
this.tel = tel;
this.address = address;
}
// 정보 출력 메소드
void printInfo() {
System.out.println("이름: " + name);
System.out.println("전화번호: " + tel);
System.out.println("주소: " + address);
}
}
설명:
- 필드: name, tel, address는 각각 이름, 전화번호, 주소를 저장합니다.
- 기본 생성자: 아무런 매개변수도 받지 않는 생성자입니다. 객체를 생성할 때 초기값을 설정하지 않아도 됩니다.
- 매개변수가 있는 생성자: 객체를 생성할 때 이름, 전화번호, 주소를 바로 설정할 수 있습니다.
- printInfo() 메소드: 멤버의 정보를 출력합니다.
2. MemberTest 클래스 (메인 클래스) 작성하기
이제, MemberTest라는 메인 클래스를 만들어서 Member 객체를 생성하고 활용해보겠습니다.
public class MemberTest {
public static void main(String[] args) {
// 기본 생성자를 사용하여 객체 생성 후 필드 설정
Member m1 = new Member();
m1.name = "홍길동";
m1.tel = "010-1111-2222";
m1.address = "경기도 성남시";
m1.printInfo();
System.out.println();
// 매개변수가 있는 생성자를 사용하여 객체 생성
Member m2 = new Member("김나나", "010-2222-5555", "경기도 광주시");
m2.printInfo();
System.out.println();
// 주소 정보 없이 객체 생성 후 나중에 주소 설정
Member m3 = new Member("김영수", "010-3333-4444", null);
m3.address = "서울특별시 강남구";
m3.printInfo();
}
}
설명:
- m1 객체: 기본 생성자를 사용하여 객체를 생성한 후, 각각의 필드를 설정합니다.
- m2 객체: 매개변수가 있는 생성자를 사용하여 객체를 생성하면서 필드를 초기화합니다.
- m3 객체: 매개변수가 있는 생성자를 사용하지만, 주소는 나중에 설정합니다.
실행 결과:
이름: 홍길동
전화번호: 010-1111-2222
주소: 경기도 성남시
이름: 김나나
전화번호: 010-2222-5555
주소: 경기도 광주시
이름: 김영수
전화번호: 010-3333-4444
주소: 서울특별시 강남구
요약:
- 생성자(Constructor): 클래스의 객체가 생성될 때 호출되는 특별한 메소드로, 객체의 초기화를 담당합니다.
- 기본 생성자: 매개변수가 없는 생성자입니다.
- 매개변수가 있는 생성자: 객체를 생성할 때 필요한 값을 바로 설정할 수 있는 생성자입니다.
이렇게 하면, 자바의 생성자를 활용하여 간단한 주소록 프로그램을 만들 수 있습니다. 생성자를 사용하면 객체를 생성할 때 초기값을 설정할 수 있어 편리합니다.
728x90
반응형
'☕Java > ☕입문편' 카테고리의 다른 글
Java 추상(Abstract) 클래스와 인터페이스(Interface): 개념 잡고 활용하기 (0) | 2024.12.16 |
---|---|
Java 상속이란? + 문제풀이 (1) | 2024.12.15 |
[Java 14강 - 특별편] 자바 메모리 구조와 실행 원리 완벽 정리 (0) | 2024.12.10 |
[Java 9강] 클래스와 객체 개념 (1) | 2024.12.10 |
[Java 8강] 메서드 완벽 가이드(함수) (1) | 2024.12.09 |