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
- 리눅스
- JavaScript
- 클래스
- 알고리즘
- 개발자
- 데이터 조회
- MySQL
- Git
- 형변환
- 자바스크립트
- String클래스
- 정보처리기사
- where
- 프로그래밍
- 백준
- 예외처리
- Linux
- github
- 프로그래머스 SQL
- SQL
- Java
- 프로그래머스 sql 고득점 kit
- mybatis
- StringBuilder
- DML
- order by
- 스프링
- 자바
- 백엔드
- sql문
- select
- scanner
- BufferedReader
- html
- 정보처리기사필기요약
- 프론트엔드
- 웹개발
- 메서드
- select문
- 입출력
Archives
- Today
- Total
ToBe끝판왕
[ JAVA ] 생성자 본문
반응형
생성자( constructor )
▶ 정의
• 인스턴스 초기화 메서드
• 클래스를 처음 만들때 멤버변수나 상수를 초기화 하는 것
• new연산자로 클래스로부터 객체를 생성할때 호출되어 객체의 초기화 담당
• 모든클래스에는 반드시 하나 이상의 생성자가 있어야 한다.
▶ 조건
• 생성자의 이름은 클래스의 이름과 같아야 한다.
• 생성자는 리턴값이 없다. ( 하지만 void는 쓰지 않는다. )
▶ 기본생성자( default constructor )
• 매개변수가 없는 생성자
• 클래스에 생성자가 하나도 없으면 컴파일러가 기본 생성자를 추가한다.
기본생성자
ex)
public class Person {
String name;
float height;
public Person(){} // 디폴트 생성자 ( 컴파일러가 자동으로 생성 )
}
▶ 생성자 선언
• 리턴타입이 없고 클래스 이름과 동일하다.
• 객체생성시 , 매개변수는 new 연산자로 생성자를 호출할 때 외부의 값을 생성자 블록 내부로전달하는 역할
public class Car {
// 매개변수를 받기위한 생성자 선언
public Car( String model, String color, int maxSpeed ) { }
}
public static void main(String[] args) {
// 객체 생성시 매개변수를 입력해서 호출
Car mycar = new Car( "그랜저", "검정", 300 );
}
▶ this( )
• 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용
• 다른 생성자 호출은 생성자의 첫 문장에서만 가능
class Car {
String color;
String gearType;
int door;
Car() {
this( "white", "auto", "4" ); // 코드의 재사용성을 높임
}
}
▶ 참조변수 this
• 인스턴스 자신을 가리키는 참조변수 ( 예약어 / 인스턴스의 주소가 저장되어 있음 )
• 모든 인스턴스 메서드에 지역변수로 숨겨진채로 존재
class Car {
String color;
String gearType;
int door;
Car() {
this( "white", "auto", "4" ); // 코드의 재사용성을 높임
}
Car( String color, String gearType, int door ) {
// 인스턴스 변수와 지역변수를 구별하기 위해 참조변수 this 사용
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
▶ 생성자 오버로드( constructor overload )
• 생성자가 두개이상 제공되는 경우
• 필요에 따라 매개변수가 다른 생성자를 여러개 만들 수 있다.
생성자 예시
ex)
public class Person {
String name;
float height;
float weight;
public Person( ) {} // 디폴트 생성자
public Person( String pname ) { // 이름을 매개변수로 입력받는 생성자
name = pname;
}
public Person( String pname, float pheight, float pweight ) {
// 이름, 키, 몸무게를 매개변수로 입력받는 생성자
name = pname;
height = pheight;
weight = pweight;
}
}
반응형
'■ 프로그래밍 SKILLS > JAVA' 카테고리의 다른 글
[ JAVA ] 상속 (0) | 2022.05.23 |
---|---|
[ JAVA ] 인스턴스 멤버 , 정적 멤버 , 싱글톤 , final필드 , 패키지 , 접근제한자 , Getter & Setter 메서드 (0) | 2022.05.19 |
[ JAVA ] 메서드 (0) | 2022.05.17 |
[ JAVA ] 클래스와 객체 (0) | 2022.05.16 |
[ JAVA ] JVM 정의 및 메모리 사용 영역 (0) | 2022.05.16 |
Comments