1. 생성자
인스턴스를 생성하려면 생성자가 항상 필요합니다.
1. 생성자가 없으면 인스턴스를 만들 수 없습니다.
2. 생성자는 클래스 이름과 동일해야 합니다.
3. 생성자는 인스턴스 생성시 한번만 호출되는 특성을 가지고 있습니다.
class Person {
String name;
int age;
String sex;
// 생성자와 매개변수
Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
}
Default 생성자
생성자를 명시적으로 선언하지 않는 경우 자동적으로 Default 생성자를 생성합니다.
class Person {
String name;
int age;
String sex;
// 컴파일러가 default 생성자를 주입한다.
}
인스턴스 생성
클래스의 생성자를 통해 인스턴스를 생성할 수 있습니다.
class Person {
String name;
int age;
String sex;
//생성자와 매개변수
Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
}
Person person = new Person("이름", 1, "female");
2. this 키워드
this 키워드는 자기 자신 Person 클래스를 지칭합니다. this 키워드를 통해 Person 클래스 스코프 내의 멤버 변수에 접근 할 수 있습니다.
접근할 수 있는 클래스 스코프 내에서 생성자의 매개 변수명과 멤버 변수명이 동일할 경우 this 키워드를 통해 멤버 변수에 접근할 수 있습니다.
class Person {
String name;
int age;
String sex;
// 생성자와 매개변수
Person(String name, int age, String sex) {
this.name = name;
// this.name은 클래스의 멤버 변수를 지칭하고
//name은 매개 변수를 지칭한다.
this.age = age;
// this.age는 클래스의 멤버 변수를 지칭하고
// age는 매개 변수를 지칭한다.
this.sex = sex;
// this.sex는 클래스의 멤버 변수를 지칭하고
// sex는 매개 변수를 지칭한다.
}
}
3.생성자를 이용해서 클래스 만들어보기
코드 작성(Person.java)
class Person {
String personName;
int personAge;
String personGender;
Person(String name, int age, String gender) {
personName = name;
personAge = age;
personGender = gender;
}
}
코드 작성(Main.java)
public class Main {
public static void main(String[] args) {
Person person = new Person("김철수", 20, "male");
System.out.println(person.personName);
System.out.println(person.personAge);
System.out.println(person.personGender);
}
}
출력
김철수
20
male
출처 : https://www.codelatte.io/courses/java_programming_basic/8LW6ZIG8D1IM3QE7
'JAVA' 카테고리의 다른 글
[JAVA]메서드 (0) | 2023.09.07 |
---|---|
[JAVA]생성자 오버로딩 (0) | 2023.09.06 |
[JAVA]멤버 변수 (0) | 2023.09.05 |
[JAVA]클래스 (0) | 2023.08.30 |
[JAVA]문자열 만들기 (0) | 2023.08.21 |