● 생성자란?
: 메모리 공간 확보 + 데이터저장을 한번에 하기위해 만들어졌다.
1. 눈에 안보이지만 , 기본적으로 Member()라는 생성자는 만들어져 있다. 따라서 지금가지 에러 없이 잘 사용해왔다.
2. 이제는 파라미터가 있는 생성자가 필요하다. 이 생성자는 기본적으로 제공하는것이 아니므로, 우리가 만들어줘야한다.
(단, 생성자는 리턴타입이 없다/생성자 함수 이름은 클래스 이름과 같다)
예시)
Member(String name, String tel, String address) {
this.name = name;
this.tel = tel;
this.address = address;
}
3. 우리가 생성자를 만들면 자바가 디폴트로있는 생성자는 필요없다고 판단하여 없앤다! 그래서 변수가 없는 생성자도 만들어줘야한다.
Member() {
}
→ 이것도 메서드 오버로딩이다
활용)
주소는 옵셔널 데이터라, 안받을 수 도 있다고 한다! 그렇다면 이름과 전화번호만 바로 저장할 수 있는 생성자를 만들어보자
Member(String name, String tel) {
this.name = name;
this.tel = tel;
}
Member m2 = new Member();
m2.name = "김나나";
m2.tel = "010-1111-2222";
m2.address = "인천시 연수구";
Member m3 = new Member("철수","010-5555-6666","서울시 강남구");
Member m4 = new Member("영희","010-7777-8888");
'Java' 카테고리의 다른 글
private와 상속 (0) | 2023.07.03 |
---|---|
상속 (Parent-Child 관계) (0) | 2023.07.03 |
메서드 오버로딩(Overloading) (0) | 2023.07.03 |
Static 변수 (0) | 2023.07.03 |
자바 class와 객체(인스턴스) / 자바 메모리 관련 0630 (0) | 2023.06.30 |