본문 바로가기
Java/☞

[24] 메서드와 생성자

by TR. 2020. 9. 17.

메서드

. 리턴타입 O
. 메서드 이름 자유롭게 생성
. 아무때나 호출(=사용)
. 메서드 오버로딩

생성자
. 리턴타입 X
. 생성자 명 = 클래스
. new 할 때 딱 한번 호출
. 생성자 오버로딩

 

package day00;

class Rabbit {
	String name;
    
	Rabbit(){
		System.out.println("토끼 불렀어?");
	}
	
	Rabbit(String name){
		this.name = name;
	}
	
	void say() {
		System.out.println(name + "이 깡총깡총");
	}
}

public class Ex02 {
	public static void main(String[] args) {
		
		// 생성자 메서드 : 클래스가 생성될 때 호출되는 자
		Rabbit r = new Rabbit("토끼양");
		// r.name = "토끼양";
		
		
		// 메서드 호출
		r.say();
		
	}
}

 

생성자(constructor)

1. 생성자는 반드시 클래스 이름과 같아야 한다.

2. 생성자는 new 클래스명(); 일때 호출된다.

3. 생성자는 멤버변수를 초기화시킬 목적으로 사용한다.

4. 생성자를 정의하지 않으면, 자바 컴파일러가 자동으로 기본 생성자를 만든다.

5. 기본생성자란, 매개변수에 아무것도 없는 생성자를 의미한다.

6. 생성자를 정의하면 기본 생성자는 자동으로 만들어지지 않는다.

7. 생성자는 리턴타입을 가지지 않고 return도 사용하지 않는다. (메서드와의 차이점)

 

package test;

class joinMember{
	String name;
	int age;
	
	// 생성자 오버로딩
	// 1
	public joinMember() { System.out.println("신규 회원등록"); }
	// 2
	public joinMember(String text) { this.name = text; }
	// 3
	public joinMember(String text, int num) { this.name = text; this.age = num; }
	
}
public class Ex07 {
	public static void main(String[] args) {
		
		joinMember join1 = new joinMember();
		joinMember join2 = new joinMember("홍길동");
		joinMember join3 = new joinMember("홍둘리", 12);

	}

}

 

'Java > ' 카테고리의 다른 글

[26] 래퍼 클래스  (0) 2020.09.18
[25] 은닉성 - get set 메서드  (0) 2020.09.18
[23] member 전역변수와 Static & Instance  (0) 2020.09.17
[22] 메서드 오버로딩  (0) 2020.09.17
[21] 메서드  (0) 2020.09.17

댓글