Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

chapter08 : constructor 본문

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

'JAVA' 카테고리의 다른 글

chapter10 : static final  (0) 2023.05.16
chapter09 : this  (0) 2023.05.16
chapter07 : method  (1) 2023.05.16
chapter06 : OOP  (0) 2023.05.16
chapter05 : memory  (0) 2023.05.16