본문 바로가기

JAVA/객체 코드

constructor 생성자

   **constructor : 생성자 == method == 객체를 생성할때 자동으로 호출되는 함수!

 

규칙 :

1.  class명과 같은 method
2.  return 값이 없다
3.  over load가 가능하다(많이씀)
4.  자동호출된다
 (-> 별도의 호출이 불가능하다)
5.  생략이 가능하다
6.  기본값을 설정 할 경우가 많다
7.  초기화는 사용 안하는 편이 좋다 

 

 

 


main

		MyClass cls = new MyClass();//MyClass()가 생성자, 생성시 바로 "MyClass MyClass()" 호출
		
		MyClass cls1 = new MyClass(123);
		
		MyClass cls2 = new MyClass(234,"abc");

규칙의 1, 2, 3, 4가 이미 쓰여짐

 

 

 

 

 


Class

 

this();//다른생성자에서 호출 시 맨위에. 아니면 에러남.

this(34);//오버로드로 변수형에 맞게 대입하여 호출가능

 

 

이클립스 source창을 이용해 아래 생성자 바로 생성가능

	public MyClass(int number, String name) {
		super();
		this.number = number;
		this.name = name;
	}

 

 

 

클래스 전체

public class MyClass {
	/*
	 	constructor : 생성자 == method == 객체를 생성할때 자동으로 호출되는 함수!
	 			      규칙 : class명과 같은 method
	 					return 값이 없다
	 					over load가 가능하다(많이씀)
	 					자동호출된다
	 					(-> 별도의 호출이 불가능하다)
	 					생략이 가능하다
	 					기본값을 설정 할 경우가 많다
	 					초기화는 사용 안하는 편이 좋다 
	 	
	 	destructor : 소멸자 -> 현재 X
	
	 */
	private int number;
	private String name;
	
	public MyClass(){	//기본생성자
		System.out.println("MyClass MyClass()");
	}

	public MyClass(int number, String name) {
		this();//다른생성자에서 호출 시 맨위에. 아니면 에러남.
		this.number = number;	//입력받은 number을 변수로 사용하기한 작업, 아래부턴 바로 number로 사용 가능
		this.name = name;
	}
	
//	public MyClass(int number) {
//		this.number = number;
//		System.out.println("MyClass MyClass(int number)");
//	}
//	
//	public MyClass(int number, String name) {
//		
//		//this(); // 클래스명이 아닌 this로 호출
//		this(34);//오버로드로 변수형에 맞게 대입하여 호출
//		
//		this.number = number;
//		this.name = name;
//		System.out.println("public MyClass(int number, String name");

	
}

 

 

 

'JAVA > 객체 코드' 카테고리의 다른 글

객체의 3대 특징 - 상속성  (0) 2020.06.03
객체 3대 특징  (0) 2020.06.03
객체 3대 특징 - 은닉성( 캡슐화 )  (0) 2020.06.02
객체 // 야구게임  (0) 2020.06.01
객체//Sorting  (0) 2020.06.01