상세 컨텐츠

본문 제목

생성자 (Constructor)

Coding (코딩)/Java (자바)

by 매일매일 배우는 개발자 2020. 9. 14. 13:00

본문

728x90

객체지향 프로그램에서 쓰는 객체의 초기화 함수이다. 객체를 생성할 때 호출되며, 객체를 만들때 (인스턴트화)중 인스턴트변수 초기화작업을 한다.

class에 하나 이상의 생성자가 있을수 있으며, 클래스의 이름과 꼭 동일하게 지어야 한다.

 

 

생성자의 특징

  • return값이 없다. (값을 반환하지 않는다)
  • 반드시 클래스의 이름과 동일하게 지어야한다

밑에 간단한 코드를 보여 이해하자

 

package test;

public class Tv {
	
	String brand; //멤버변수 설정
	String color; //멤버변수 설정
	int channel; //멤버변수 설정
	
	Tv(String brand, String color, int channel){ // 생성자 생성후 파라미터 값을 넣음
		
		this.brand = brand; 
		this.color = color;
		this.channel = channel;
		
	}

	Tv(){ //파라미터값 없이 main method에서 직접 값을 넣어 실행
		
	}

}

class data1{
	public static void main (String[] args) {
		
		Tv tv1 = new Tv("LG", "black", 1); // tv1 인스턴스후  "LG", "white", 1 의 매개변수값을 받음
		
		Tv tv2 = new Tv();
		tv2.brand = "Samsung";
		tv2.color = "white";
		tv2.channel = 2;
		
		
		System.out.println(tv1.brand + tv1.color + tv1.channel); //tv1의 값 실행
		System.out.println(tv2.brand + tv2.color + tv2.channel); //tv2의 값을 실행

	}
}

 

실행 값

LGblack1 //tv1의 값
Samsungwhite2 //tv2의 값

 

생성자를 선언하는것을 두가지 버전으로 확인할수 있다.  하지만 tv2번의 방법보다 tv1번의 방법이 더욱 간결하며,

다른사람들은 Tv class 내부의 코드를 볼수 없으므로 보안성이 뛰어나다는것을 알수있다.

 

 

용어설명

생성자 (Constructor) : 객체의 초기화 함수. 객체를 생성할때 따로 지정하지않아도 eclipse 에서는 자동으로 생성된다.

하지만 생성후 객체들을 초기화 하는것이 메모리사용에 좋다.

 

 

 

 

728x90

'Coding (코딩) > Java (자바)' 카테고리의 다른 글

접근 제어자 (modifier)  (0) 2020.09.16
오버로딩 (Overloading)  (0) 2020.09.15
오버라이딩 - Overriding  (0) 2020.09.11
상속 (Inheritance)  (0) 2020.09.08
객체지향적인 언어 ( Object Oriented Programming - OOP)  (0) 2020.09.06

관련글 더보기