(기초)그래서 뭘 배운거야?/Java

JV-36-Constructor : 생성자

Soheny.P 2021. 11. 4. 15:18
728x90
package kr.co.goodee39.date1104;

public class Ex04Constructor {

	//Constructor 생성자
	/*
	 * 인스턴스 실행 전에 맨 처음 실행되는 메서드
	 * 클래스 초기화시 사용하는 메소드
	 * 생성자는 접근제한자 클래스명(매개변수) 형태로 정해진 모양있음
	 * 생성자 미생성시 JVM에서 디폴트 생성자 먼저 생성해 마치 생성자 있는 것처럼 동작
	 * 생성자를 하나라도 만들면 디폴트 생성자 소멸
	 * 생성자 안에서 메서드, 필드에 자유롭게 접근 가능
	 * 
	 */
	
	
	String str1;
	String str2;
			
	//클래스 명 자체를 메서드 이름으로 사용해 Constructor로 사용
	public Ex04Constructor() {
		System.out.println("This is Constructor");
	}
	
	//생성자에 매개변수 사용 가능
	public Ex04Constructor(String s1, String s2) {
		str1 = s1;
		str2 = s2;
		//생성자에서 메서드로의 접근 가능
		method1();
	}
	
	public void outPutField() {
		System.out.println("str1 : "+str1);
		System.out.println("str2 : "+str2);
	}
	
	public void method1() {
		System.out.println("Here is method1");
	}
	
	
	public static void main(String[] args) {
		Ex04Constructor cons1 = new Ex04Constructor(); //This is Constructor
		cons1.method1(); // Here is method1
		Ex04Constructor cons2 = new Ex04Constructor("안녕", "반갑"); //Here is method1
		cons2.outPutField();  // str1 : 안녕 // str2 : 반갑
		
	}

}

728x90