티스토리 뷰
[java 18강] 자바 생성자
이번 강의 에서는 자바의 생성자에 대해서 알아보고 배워볼것 입니다.
생성자는 클래스를 생성할때 딱한번 실행이 되는 메소드입니다.
그럼 왜 생성자를 쓸까요?
결론 부터 말씀드리면...
클래스를 생성하면 클레스안에 있는 변수에 값을 넣을때 매번 메소드를 사용해서 넣기가 귀찮아서 입니다.
그래서 생겨난것이 생성자!
클래스를 생성할때 클래스 안에 있는 변수의 값도 한번에 주자! 입니다 ㅎㅎ
아! 그리고 중한것이 있습니다. 클래스의 생성자를 만들기 위해서는 규칙이 있습니다.
메소드에 반환타입이 없고.... 메소드명이 클래스명과 동일해야 합니다..!
바로 예제를 갖고 설명하도록 하겠습니다.
예제는 생성자가 없을때와 생성자가 있을때를 나누어서 2개의 예제로 살벼보도록 하겠습니다.
생성자가 없을때
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 | package test17; public class java17 { public static void main(String[] args) { test1 test = new test1(); test.setA(3); test.setB(4); System.out.println("int a =" + test.a + " int b =" + test.b); } } class test1 { int a = 0; int b = 0; public void setA(int c) { a = c; } public void setB(int d) { b = d; } } | cs |
결과
생성자가 없을시에는 위의 예제와 같이 생성을 하고...
메소드를 불러... 변수에 값을 넣어주어야 합니다..
생성자가 있을때
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package test17; public class java17 { public static void main(String[] args) { test1 test = new test1(3, 4); System.out.println("int a =" + test.a + " int b =" + test.b); } } class test1 { int a = 0; int b = 0; public test1(int c, int d) { a = c; b = d; } } | cs |
생성자가 있을시에는 위와같이 생성과 함께 변수에 값을 넣어 빠르게 처리를 할수 있습니다..
결과는 생성자가 있건 없건 똑같습니다. 우선 예제에서는 생성자가 있을때 변수를 줄일수가 있고, 더빠르게 처리를 할수 있었습니다.
그리고... 생성자에는 생성자 오버로딩이 있습니다.
생성자 오버로딩이란것이 무엇인지 알아보겠습니다.
우선 위의 예제(생성자가 있을때)를 보시면 ..
변수 a, b 에 두값을 넣을수 있는 생성자만있습니다..
하지만 생성을 할때 변수 하나에만 값을 넣을수도 있지 않나요?
그래서 나온것이 생성자 오버로딩입니다.
바로 예제를 보도록 하겠습니다.
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 | package test17; public class java17 { public static void main(String[] args) { test1 test = new test1(3); System.out.println("int a =" + test.a + " int b =" + test.b); } } class test1 { int a = 0; int b = 0; public test1(int c, int d) { a = c; b = d; } public test1(int c) { a = c; } } | cs |
결과
위에제를보면 생성자가 2개가 있습니다.
헐! 어떻게 2개를 쓸수 있을까요? 다른점을 보세요.
매개변수의 개수가 다릅니다. 위와같이 매개변수의 겟수를 다르게 한다면 생성자를 계속해서 만들수 있습니다.
또한 매개변수의 타입이 달라도 계속해서 만들수 있습니다.
이어서 예제를 보시면...
'Programming > JAVA, Spring' 카테고리의 다른 글
[java 20강] 정적변수와 메소드 (static) (0) | 2018.02.14 |
---|---|
[java 19강] 자바 상속 (extends) (11) | 2018.02.13 |
[java 17강]자바 SimpleDateFormat 클래스 (자바 날짜형식) (8) | 2016.11.02 |
[java 16강]자바 Date (자바 날짜)(Date class) (0) | 2016.11.01 |
[java 15강]자바 리스트(List,ArrayList) (0) | 2016.10.20 |
- Total
- Today
- Yesterday
- 초대장
- 저렴한 요금제
- java
- 별정 저렴한 요금제
- 핸드폰 만원 미만 요금제
- 무실적 체크카드
- 티스토리
- 알뜰 저렴한 요금제
- 자바스크립트
- 별정통신사 저렴한 요금제
- 핸드폰 저렴한 요금제
- 알뜰통신사 저렴한 요금제
- 핸드폰 싼 요금제
- 0원 요금제
- 자바
- 티스토리 가입
- 티스토리초대장확인
- 1000원 요금제
- 제주도가볼만한곳
- 알뜰폰 저렴한 요금제
- 티스토리 블로그
- Javascript
- 조던
- 정보처리기사
- 티스토리 초대장
- JQuery
- 제이쿼리
- 알뜰통신 저렴한 요금제
- 별정통신 저렴한 요금제
- jsp 태그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |