Language/JAVA

[JAVA 기초 이론] 클래스 class / object

오류나면꽥꽥 2023. 5. 8. 15:02

✅ class

  1. 클래스는 속성(변수)행동(메서드)을 정의한 설계도
  2. 이 클래스를 바탕으로 객체(인스턴스)를 생성
  3. 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