Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 클래스 #아이디
- MODIFY
- C언어 #문자열변환 #정수형변환
- 개발공부
- MVC #디자인패턴
- Numpy #TIL #넘파이 기초
- 공부내용정리
- 스프링 입문
- 컬럼수정
- GIT
- 개발자가 되기 위해 꼭 알아야 하는 IT용어
- 작업 영역
- 김영한 #SOLID #객체지향
- SQL
- 에러포스팅
- SafeUpdate
- COMMIT
- scanf
- 머신러닝 #회귀 #규제
- 머신러닝 #학습내용정리
- 기록하기
- group by
- 파이썬
- 그룹핑
- 옵셔널태그
- 크롬브라우저
- 커밋
- 스프링부트
- 단축키정리
- 생성자 #자바 #기록남기기
Archives
- Today
- Total
데이터 분석가 몽구리
생성자(Java) 본문
생성자 선언 및 활용
생성자는 객체가 생성되는 순간에 자동으로 호출 되는 메소드로서, 객체에 필요한 초기화를 실행하는 코드를 담아야 한다.
package java_study;
public class Circle{
int radius;
String name;
public Circle() { //매개 변수 없는 생성자
radius =1; name=""; // 필드 초기화
}
public Circle(int r, String n) { //매개변수를 가진 생성자
radius = r; name = n; //매개변수로 필드 초기화
}
public double getArea() {
return 3.14*radius*radius;
}
public static void main(String[] args) {
Circle pizza = new Circle(10, "자바피자"); //객체 생성
double area = pizza.getArea();
System.out.println(pizza.name + "의 면적은 " + area);
Circle donut = new Circle(); //객체생성
donut.name = "도넛피자";
area = donut.getArea();
System.out.println(donut.name + "의 면적은 " + area);
}
}
생성자의 특징 정리
- 생성자의 이름은 클래스 이름과 동일하다.
public class Circle{
public Circle(int r, String n){...} //생성자
}
- 생성자는 여러 개 작성(오버로딩)할 수 있다.
매개변수의 개수와 타입만 다르다면, 클래스 내에 생성자를 여러 개 둘 수 있다.
- 생성자는 new를 통해 객체를 생성할 때 한 번만 호출된다.
객체 생성은 new를 통해서 이루어지고, 자동으로 한번만 호출된다.
- 생성자에 리턴 타입을 지정할 수 없다.
생성자는 어떤 값도 리턴하지 않기 때문에 리턴 타입을 선언해서는 안된다. 하지만, 생성자에서 return문을 사용할 수 없다는 뜻을 아니다. 생성자의 실행을 끝내고자 하면 생성자 코드 내 어디서든 retrun;문 사용이 가능하다.
<예제>
제목과 저자를 나타내는 title과 author 필드를 가진 Book클래스를 작성하고, 생성자를 작성하여 필드를 초기화하라.
public class Book{
String title;
String author;
public Book(String t) { //생성자
title = t;
author = "작자미상";
}
public Book(String t, String a) {//생성자
title = t;
author = a;
}
public static void main(String[] args) {
Book littelPrince = new Book("어린왕자", "생텍쥐페리");
Book loveStory = new Book("춘향전");
System.out.println(littelPrince.title + " " + littelPrince.author);
System.out.println(loveStory.title + " " + loveStory.author);
}
}
'Java' 카테고리의 다른 글
생성자(constructor) (2) | 2023.11.22 |
---|---|
클래스와 객체 (2) | 2023.11.22 |
클래스의 객체 생성 및 활용(Java) (0) | 2022.07.30 |
다차원배열(Java) (0) | 2022.07.07 |
자바의 배열 (0) | 2022.07.04 |