JAVA
chapter08 : constructor
GAWON
2023. 5. 16. 18:29
1.1 생성자(Constructor)란?
- 객체(인스턴스)가 생성될 때 자동으로 호출되는 메소드.
- 모든 객체(인스턴스)는 생성될 때 반드시 생성자를 호출한다.(생성자를 호출하지 않는 인스턴스는 없다!)
- 개발자가 생성자를 만들지 않으면 아무 일도 하지 않는 '디폴트 생성자'가 호출된다.
class Person {
Person(){}; // 디폴트 생성자 <- 개발자가 생성자를 하나도 만들지 않으면,
// 자바가 스스로 만들어서 처리해요!
}
- 객체(인스턴스)의 필드(멤버변수) 값의 초기화를 위해 존재한다.
- 객체(인스턴스) 생성 모습
Car car = new Car(); -> Car() == 생성자 car객체(내가 지정함)
Person man = new Person(); -> Person() == 생성자 man객체(내가 지정함)
Circle circle = new Circle(); -> Circle() == 생성자 circle객체(내가 지정함)
- 생성자 선언 방법
①클래스이름(②매개변수선언) {
생성자 본문;
}
① 클래스이름: 생성자의 이름은 클래스의 이름과 같다!
② 매개변수선언: 경우의 수가 많기 때문에 여러 가지를 허용한다!
-> '메소드 오버로딩'을 통해 여러 개의 생성자가 존재할 수 있다.
* 리턴이 존재하지 않는다. (void 를 의미하는 것이 아님)
Q1.
Car.java 필드 -String model, String color, int year, booleans isNewCar
메소드 - Constructor, output
CarMain.java
★
생성자(모델, 색상, 연식) / 생성자(모델, 색상)
Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.YEAR);
Q2.
Song.java 필드 - String title, String country
메소드 - Constructor, output
Singer.java 필드 - String name, Song song
메소드 - Constructor, setSong(s), output
SingerSongMain.java
Q3.
Grade.java 필드 - int kor, int eng, int mat, double average, char grade
메소드 - Constructor, getAverage(평균을 리턴), getGrade(학점을 리턴)
학점 : 90이상 A, 80이상 B, 70이상 C, 60이상 D, 60미만 F
Student.java 필드 - String name, String dept, Grade grade
메소드 - Constructor, output
StudentGradeMain.java
Q4.
Coordinate.java 필드 - int x, int y
메소드 - Constructor, output
Circle.java 필드 - Coordinate center, double radius
메소드 - Constructor, output
Ring.java 필드 - Circle inner, Circle outer
메소드 - Constructor, output
CoordinateCircleRingMain.java