본문 바로가기
Java

[Java] Constructor(생성자) 사용하기

by coding_su 2023. 1. 19.

📝Constructor(생성자) 사용하기

생성자란 눈에 보이지 않게 자동으로 만들어지는 함수이다

특징은 리턴의 데이터 타입이 없고 함수의 이름이 만든 클래스 이름과 동일하다

※ 디폴트 생성자 말고 생성자 오버로딩으로 생성자를 만들면 꼭 기존의 디폴트 생성자 Member() 를

 눈에 보이게 만들어 놓아야한다 안그럼 Member()는 동작하지 않는다

public class Member {
	String name;
	String tel;
	String address;
	
	// 아래 함수는 눈에 보이지않게 자동으로 만들어지는 함수이다
	// 이런 함수를 Constructor(생성자)라고 한다
	Member(){		
	}
	
	// 생성자 오버로딩
	// 위의 디폴트생성자 말고 이렇게 생성자 오버로딩으로 생성자를 만들면
	// 꼭 위의 Member() 이 디폴트 생성자를 눈에 보이게 만들어 놓아야한다
	Member(String pName, String pTel, String pAddress){
		name = pName;
		tel = pTel;
		address = pAddress;
	}
	
	Member(String pName){
		name = pName;
	}
	
	void setMember(String pName, String pTel, String pAddress) {
		name = pName;
		tel = pTel;
		address = pAddress;
	}

	void print() {
		System.out.println(name);
		System.out.println(tel);
		System.out.println(address);
		System.out.println("이름 : " + name + ", 전화번호 : " + tel + ", 주소 : " + address);
	}
}

 

만든 클래스 활용해보기

※ 클래스를 만들때느 멤버변수를 먼저 만들고 개발하면서 필요한 메소드를 만든다

public class MemberMain {

	public static void main(String[] args) {
		
		// 객체 생성이란
		// 1. 메모리 공간 확보
		Member m1 = new Member();
		// 2. 데이터 저장
		m1.setMember("홍길동", "010-1234-5678", "인천 서구 가좌동");
        
		// 저장된 데이터 확인해보기
		m1.print();
		
		// Constructor(생성자)를 이용해 메모리 공간 확보와 데이터 저장을 한줄로 처리
		Member m2 = new Member("김나나", "010-123-9999", "인천 서구 청라동");
		m2.print();
		
		Member m4 = new Member("Mike");
		m4.print();
	}
}

댓글