java

[java] Constructor(생성자) 오버로딩

공부짱짱열심히하기 2023. 1. 19. 11:20

new 연산자를 통해 객체 생성시 한번에 데이터를 입력하는 함수를 만들고 싶을때

생성자 오버로딩을 활용할 수 있다.

이런 클래스에 한줄로 객체를 생성한다면

	void setMember(String pName, String pTel, String pAddress){
		name = pName;
		tel = pTel;
		address = pAddress;
	}

메인 함수를 통해 표현이 가능하다.

Member m2 = new Member();
m2.setMember("아이유", "010-333-111" , "서울시 어딘가" );

 

이때 new 연산자를 생성과 데이터 입력을 동시에 하고 싶다면

생성자 오버로딩 함수를 만들면 된다,

 

Member(){	
	}
    Member(String pName, String pTel, String pAddress){
		name = pName;
		tel = pTel;
		address = pAddress;
	}

당연히 클래스 이름과 같아야 하며

디폴트 생성자를 눈에 보이게 입력하고 생성자 오버로딩을 해줘야 한다.

	Member m3 = new Member("김나나","010-123-999","인천시 서구 청라");

오버로딩 응용

하나의 데이터만 집어 넣고 싶을때는?

다른 데이터를 몰라서 아는 데이터만 집어 넣고 싶지만 메모리 공간을 확보하면서 입력을 하고 싶다면

오버로딩을 응용하여

새로운 메소드를 만들어 주면됨

Member(){
	
	}
    Member(String pName){
		name = pName;
	}

프린트 할 경우

입력한 정보 외엔 null 이되는 것을 확인할 수 있다.

'java' 카테고리의 다른 글

[JAVA]접근 제어자  (0) 2023.01.19
[JAVA] getter / setter 함수 와 툴사용  (0) 2023.01.19
[JAVA] Constructor 생성자  (0) 2023.01.19
static(전역)변수 설정  (0) 2023.01.18
method overloading  (0) 2023.01.18