자바에서 생성자(Constructor)는 클래스의 인스턴스(객체)를 초기화하는 특수한 메서드.
생성자는 클래스가 인스턴스화될 때 호출되며, 객체의 초기 상태를 설정하는 역할
특징으로는
- 클래스의 이름과 동일하며 반환 타입이 없다.
- 객체가 생성될 때 호출된다.
- 기본 생성자는 명시적으로 작성하지 않아도 컴파일러가 자동으로 제공해준다(다른 생성자가 없을 때).
- 여러 개의 생성자를 오버로딩할 수 있다.
생성자를 통해 객체의 초기 상태를 설정하고 필요한 초기화 작업을 수행할 수 있다.
public class Member {
String name;
String tel;
String address;
// 아래 함수는 눈에 보이지않게 자동으로 만들어지는 함수
// Constructor(생성자)라고 한다
Member(){
}
// 생성자 오버로딩
// 위의 디폴트생성자 말고 이렇게 생성자 오버로딩으로 생성자를 만들면
// 꼭 위의 Member() 이 디폴트 생성자를 눈에 보이게 만들어 놓아야한다
Member(String pName, String pTel, String pAddress){
name = pName;
tel = pTel;
address = pAddress;
}
void setMember(String pName, String pTel, String pAddress){
name = pName;
tel = pTel;
address = pAddress;
}
}
클래스를 활용한다.
public class MemberMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 객체 생성
// 1. 메모리 공간 확보
Member m1 = new Member();
// 2. 데이터 저장
m1.name = "홍길동";
m1.tel = "010-1234-1234";
m1.address = "인천 서구 길동이네";
Member m2 = new Member();
m2.setMember("김나나", "010-3333-3333", "인천 서구 나나네");
// Constructor(생성자)를 이용해 메모리 공간 확보와 데이터 저장을 한줄로 처리
Member m3 = new Member("아이유", "010-3111-2213", "인천 서구 아이유네");
}
}
'Java' 카테고리의 다른 글
[Java] super 키워드 (0) | 2024.06.03 |
---|---|
[Java] 클래스 상속 (1) | 2024.06.03 |
[Java] getter / setter 함수 (0) | 2024.05.31 |
[Java] 클래스의 멤버변수에 데이터를 셋팅하는 3가지 방법 (객체 생성) (0) | 2024.05.31 |
[Java] this 로 사용하는 멤버변수, 접근제어자, 멤버변수와 로컬변수의 차이 (0) | 2024.05.31 |