생성자

2021. 11. 30. 19:25자바 (Java)

생성자 어여어여 나와봐

 

생성자

 

객체를 초기화 하는 게 목적

(여기서 잠깐, 클래스는 객체와 메소드 생성이 목적)

=원하는 모양으로 객체를 잡아주는 것

 

 


 

 

 

 

 

 

  • 생성자의 이름은 클래스 이름과 동일해야 한다. 다른 메소드와 쉽게 구분하기 위해
class Circle{

	int radius;
	String name;
    
    public Circle(){ 
    	radius=1;
        name=" ";
  }
  • 생성자를 여러개 작성할 수 있다. (앞에서 한 "생성자 오버로딩")
  • 생성자는 객체를 생성할 때 한 번만 호출된다.
  • 생성자는 리턴 타입을 지정할 수 없다.

 

 

 

Circle pizza=new Circle();
  • 기본 생성자

매개 변수가 없는 생성자 . 위에 예시에선 new라는 변수 생성, Circle() 생성자 호출

클래스 안에 생성자 정의가 따로 없으면 컴파일러가 자동으로 결과물에 생성자를 넣어준다.

 

 

 

 

생성자는 결국 객체의 첫 모양을

코드 작성자가 원하는 데로 잡아주는 일종의 명사 형태! 

 

class Point { // 좌표 클래스

	Point() {
		x = 2;
		y = 2;
	}
	Point(int _x) {
		x = _x;
		y = 2;
	}
	
	Point(int _x, int _y) {
		x = _x;
		y = _y;
	}
	
	void show() {
		System.out.println("(" + x + ", " + y + ")");
	}
}

public class Ex5 { // 다른 클래스와 메인 클래스 시작!

	public static void main(String[] args) {
		Point p = new Point();
		p.show(); // (2, 2)
		
		Point p2 = new Point(5);
		p2.show(); // "(5, 2)"
		
		Point p3 = new Point(10, 20);
		p3.show(); // "(10, 20)"

	} // main
}