✅ class
- 클래스는 속성(변수)과 행동(메서드)을 정의한 설계도
- 이 클래스를 바탕으로 객체(인스턴스)를 생성
- JAVA의 기본 단위

✅ objcet 클래스
- JAVA에서 기본 제공 해주는 최상위 클래스
📌 클래스의 구성
| 필드 (Field) | 클래스의 속성, 객체의 상태를 저장하는 변수입니다. |
| 생성자 (Constructor) | 객체가 생성될 때 호출되는 특별한 메서드입니다. 주로 초기화를 담당합니다. |
| 메서드 (Method) | 객체의 동작을 정의하는 함수입니다. |
| 접근 제어자 | public , private , protected 등으로 외부에서 접근 가능한 범위를 지정합니다. |
📍 생성자를 생성하지 않아도 기본으로 생성자를 제공!
class Person {
// 속성(멤버 변수)
String name;
// 메서드
public void greet() {
System.out.println("Hello, my name is " + name);
}
}
📍 생성자를 1개라도 생성하면, 기본 생성자 제공 안됨!
class Person {
// 속성(멤버 변수)
String name;
int age;
// 생성자
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 메서드
public void greet() {
System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
}
}
만든 클래스를 main 클래스에서 사용
▼
// Person 클래스 정의
class Person {
// 속성(멤버 변수)
String name;
int age;
// 생성자
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 메서드
public void greet() {
System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
}
}
public class Main {
public static void main(String[] args) {
// Person 객체 생성
Person person1 = new Person("Alice", 30);
Person person2 = new Person("Bob", 25);
// 메서드 호출
person1.greet(); // "Hello, my name is Alice and I am 30 years old."
person2.greet(); // "Hello, my name is Bob and I am 25 years old."
}
}
✅ 생성자 오버로딩
생성자는 인자가 많은 순서대로 만든다!
- 생성자를 여러개 만들어 main()에서 객체 만들때 INPUT 값에 생성자에 여러개의 INPUT값을 선택하여 사용 가능
ex)
class Student2{
String name;
int score;
// 생성자 오버로딩
Student2(String n){
this.name=n;
this.score=0;
System.out.println(this.name+"학생 출석부에 입력완료!");
}
Student2(String n,int s){
this.name=n;
this.score=s;
System.out.println(this.name+"학생 출석부에 입력완료!");
}
void hello() {
System.out.println("안녕, 난 "+this.name+"야. "+this.score+"점");
}
}
public class Test07 {
public static void main(String[] args) {
Student2 student1=new Student2("아무무",97);
Student2 student2=new Student2("티모");
Student2 student3=new Student2("아리");
student1.hello();
student2.hello();
student3.hello();
}
}
출력)
더보기
안녕, 난 아무무야. 97점
안녕, 난 티모야. 0점
안녕, 난 아리야. 0점
'Language > JAVA' 카테고리의 다른 글
| [JAVA 기초 이론] 삼항 연산자 (0) | 2023.05.10 |
|---|---|
| [JAVA 기초 이론] 함수 (0) | 2023.05.08 |
| [JAVA 기초 이론] 배열 (0) | 2023.05.05 |
| [JAVA 기초 이론] 반복문: while / for (0) | 2023.05.05 |
| [JAVA 기초 이론] 조건문: if (0) | 2023.05.05 |