728x90
반응형
SMALL
생성자 Constructor
객체를 생성할 때 다음과 같은 모양으로 만들라고 지시하는 것
객체를 생성할 때 강제성을 부여하는 것
생성자가 메서드와 다른 이유
초기화의 목적을 가지고 있고,
메서드와 같은 기능을 가지고 있지만, return 이 없으며 return 타입은 자기 자신이다.
따라서 메서드라고 부르지 않는다.
기본 생성자
클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다.
클래스에 생성자가 하나도 없는 경우 컴파일러가 자동으로 기본 생성자를 생성을 해 준다.
pulic class Dog{
public String color;
public String name;
public int age;
// 기본 생성자
public Dog(){
}
}
이 Dog 클래스를 main 함수가 있는 다른 클래스에서 구현하고자 한다면
pulic class MainTest{
// main 함수
public static void main(String[] args){
// 기본 생성자 사용
Dog dog1 = new Dog();
dog1.name = "coco";
dog1.age = 3;
dog1.color = "brown";
}
}
매개변수가 없는 기본 생성자를 이렇게 사용할 수 있다.
사용자 정의 생성자
개발자가 직접 정의하는 생성자이다.
pulic class Dog{
public String color;
public String name;
public int age;
// 사용자 정의 생성자
public Dog(String n1, int n2, String n3){
name = n1;
age = n2;
color = n3;
}
}
매개변수로 n1, n2, n3 을 넣어주고,
데이터타입에 맞게 멤버변수들을 대입연산자(=)를 이용해 연결시켜준다.
pulic class MainTest{
public static void main(String[] args){
// 사용자 정의 생성자 사용
Dog dog2 = new Dog("nana", 4, "white");
// 값 수정
student2.name = "rucy";
}
}
생성자를 정의한 대로 매개변수에 맞게 초기화까지 같이 해줄 수 있다.
만약 값을 바꾸고 싶다면 점연산자로 멤버변수에 접근해 새로운 값을 대입해주면 된다.
728x90
반응형
LIST
'Back-End > Java' 카테고리의 다른 글
[Java] 참조 자료형 변수 (0) | 2021.08.30 |
---|---|
[Java] this 키워드 (0) | 2021.08.27 |
[Java] 인스턴스 (Instance), 힙(Heap) 메모리 (0) | 2021.08.26 |
[Java] 메서드 Method (0) | 2021.08.26 |
[Java] 함수(Function), Stack 메모리 (0) | 2021.08.26 |