Java (자바) 독학 제어문 _ 생성자 (Constructor)
1. 생성자
- 클래스의 멤버 변수를 메모리에 생성하는 역할
- 개발자가 명시적으로 생성자를 만들지 않으면 자바가상머신(JVM)이 생성자를 자동으로 생성
- 리턴 타입이 없음
- 생성자는 오버로딩 (Over Loading) 가능
** 오버로딩: 생성자 이름은 같고, 전달 인자의 개수 혹은 타입이 다르도록 만든 생성자
- 생성 방식
public 클래스명 () {
};
2. 생성자 Test
Class Name: ConstructorTest_01
Class Name: ConstructorMain_01
public static void main(String[] args) 체크
ConstructorTest_01 코드
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
32
33
|
public class ConstructorTest_01 {
private int num;
private String word;
public ConstructorTest_01() { //생성자
super();
}
public ConstructorTest_01(int num, String word) { //생성자 오버로딩
super();
this.num = num;
this.word = word;
}
//Setter, Getter
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
}
|
cs |
ConstructorMain_01 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class ConstructorMain_01 {
public static void main(String[] args) {
ConstructorTest_01 test = new ConstructorTest_01(100, "Ecoder");
//생성자를 이용해 num값과 word값 대입
System.out.println(test.getNum()); //num 값 확인
System.out.println(test.getWord()); // word 값 확인
}
}
|
cs |
저장(ctrl + s) 후 F11을 눌러 출력되는 내용 확인하기
3. 과제
Students 클래스를 만들어 이름(String), 국어, 수학, 영어 점수(int), 평균(double) 변수를 private로 선언 후,
생성자, Setter, Getter를 만들어 보세요. (여기서 평균은 Setter을 만들지 않습니다.)
** Eclipse에서는 Alt + S 로 생성자(Constructor)와 Setter, Getter를 만들 수 있습니다.
평균을 구하는 매소드를 만들고, 생성자를 오버로드 하여, 이름, 국어, 수학, 영어 점수를 넘겨주면,
자동으로 평균을 구하도록 작성해 보세요.
Stu_01 클래스를 만들어 Students에 홍길동이라는 학생의 국어, 수학, 영어 점수 값을 대입하여,
이름과 평균을 출력해보세요.
'Java (자바)' 카테고리의 다른 글
쉽게 따라하는 Java (자바) 독학 _ 메소드 오버로딩 (Overloading), 오버라이딩(Overriding) (0) | 2022.12.16 |
---|---|
쉽게 따라하는 Java (자바) 독학 _ 상속 (Inheritance) (0) | 2022.12.14 |
쉽게 따라하는 Java (자바) 독학 _ 접근 지정자 (public, private) (0) | 2022.12.12 |
쉽게 따라하는 Java (자바) 독학 _ 클래스 (class) (0) | 2022.12.11 |
쉽게 따라하는 Java (자바) 독학 _ 지역 변수 (local variable) & 인스턴스 변수 (instance variable) & 클래스 변수 (Class variable) (2) | 2022.12.08 |
댓글