티스토리 뷰

Java 공부일지

생성자(Constructor)

AleXtep 2018. 3. 5. 13:22

1.생성자란

이번시간에는 접근자와 설정자 이후로 생성자에 대한 공부를 해봅시다!! 

생성자는 무엇이냐!!! 만약 학교라는 클래스를 생성하여 작성을 해보면


public class School{

int stunum;

String teacher;

int myclassnum;

}


요런식으로 작성을 할 수 있습니다. 그런데 초기화를 해줘야겠죠?



public class School{

int stunum=40;

String teacher="박선종";

int myclassnum=2;

}


요렇게 초기화를 시켜줄수 있습니다! 허나 이런 초기화는 좋은 방법이 아닙니다. 많은 단점이 존재하지만, 가장 큰 문제는 외부에서 값을 받아서 초기화 할 수 없다는 점이 가장 큰 문제입니다. 그리하여, 좋은 초기화방법을 소개하고자 합니다. 고거슨 바로바로~~~생성자(constructor)입니다. 객체를 생성할때 객체를 초기화하는 특수한 메소드입니다. 


2.생성자 사용하기
자 ~ 그러면 생성자를 사용하기 위해서는 어떻게 하여야 할까요?? 앞에서 school이란 클래스에서 생성자를 만들기 위해서는 그냥 단순히 school만 적으면 됩니다. 
이게 무슨 소리냐 하실수도 있습니다. 생성자는 일반 메소드와 매우 흡사하지만 반환값을 가지지 않습니다. 또한 생성자 이름앞에 아무것도 붙이질 않습니다. 말로만 해서는 잘 아리송하니 코드를 한번 보시죠!

public class school{
school(){

}
}

요런식으로 작성하면 끝! 입니다. 그럼 한번 예시코드를 작성하여 실행해봅시다



Constructor1이라는 클래스를 작성하였습니다. 그안에 변수 a를 선언하였죠 그리고 클래스명과같은 Constructor1메소드 즉 생성자를 만들었습니다. 그안에 a=1이라고 초기화를 시켰습니다. 


그리고 Constructor1Test클래스에서 메인메소드 안에 객체를 생성하였고 출력을 하였습니다. 조금 지금은 익숙치않고 복잡해보이지만 적응하게되면 쉽게 느껴지실 것입니다 !! 

3.매개변수를 가지는 생성자
앞에서는 매개변수가 없는 생성자를 만들어보았습니다. 그래서 이번에는 매개 변수가 있는 생성자를 만들어 봅시다. 매개변수 사용하는 방법은 우리가 앞에서 사용했던 일반 메소드를 생성할때 썻던 방법과 동일 합니다. 


위에서 우리가 작성했던 Constructor1 클래스를 재 활용해보았습니다. 단순히 소괄호 안에 매개변수를 적어주었고 a의 값을 value로 설정 하였습니다.



그리고 Test클래스에서는 매개변수에 1과 2를 집어넣어서 a의 값을 외부에서 설정하였습니다. 이렇게 보시니 좀 생성자의 진가를 조금은 아는것 같군요 ㅎㅎ


4.new연산자와 생성자

생성자를 공부한뒤 앞에서 객체생성할때 사용했던 new연산자에 대해서 다시 살펴보도록 합시다. new연산자는~


참조변수 = new 클래스이름(인수);


이렇게 작성 되었습니다. 참조변수를 객체를 가르키는 변수이고, 클래스 이름으로 뒤에 () 붙으면 생성자가 됩니다. 즉 객체를 생성하면 기본 생성자라는 매개변수가 없는 생성자를 자동적으로 생성하게 되는 것 입니다!!! 


이상으로 생성자는 여기까지 하겠습니다! 다들 행복한 하루되세요!

'Java 공부일지' 카테고리의 다른 글

생성자 오버로딩  (0) 2018.03.05
생성자 응용하기  (0) 2018.03.05
접근자와 설정자  (0) 2018.03.03
접근제어  (0) 2018.03.03
String 클래스 사용  (0) 2018.03.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함