클래스

Yullc·2025년 3월 10일
post-thumbnail

Class

우리가 변수에 여러개의 값을 넣을 때 활용하는 것이 바로 객체!! 였지? 그런데 바로 그 객체를 정의하는 틀 또는 설계도를 Class라고 불러. 우리는 이러한 설계도를 가지고 여러개의 객체를 다룰 수 있어.

클래스의 구조는

  • 필드(Field) - 객체의 데이터가 저장되는 공간
  • 생성자(Constructor) - new 연산자로 호출되는 메소드로 객체 생성시 필드의 초기화를 담당
  • 메소드(Method) - 객체의 동작에 해당하며 클래스의 다양한 동작을 실행할 수 있음

예시 클래스를 만들어서 설명 해 줄게

class Main {
    public static void main(String[] args) {
        사람 a =new 사람();
        a.age =23;
        a.name ="김철수";
        a.isMarried=true;
        a.introduce();
        
        사람 b =new 사람();
        b.age=24;
        b.name="박영수";
        b.isMarried = false;
        b.introduce();
    }
}

class 사람{
    int age;
    String name;
    boolean isMarried;

    void introduce(){
        System.out.println("==자기소개==");
        System.out.println("나이: "+this.age);
        System.out.println("이름: "+this.name);
        System.out.println("결혼여부: " +this.isMarried);

    }


}

Main클래스를 보면 객체 2개를 만든걸 볼 수가 있어. 바로 '사람 a'와 '사람 b' 라는 객체야 ! 잘 보이지??
그러면 이제 우리가 이 객체들을 잘 다룰 수 있도록 '사람'이라는 Class를 만들거야.
사람의 정보를 이용해 우리가 다룰건데, 나이, 이름, 결혼여부를 저장하는 공간? 이라고 생각해.
그러면 int age, String name, boolean isMarried로 나이, 이름, 결혼 여부라는 변수를 생성 했어.
그러면 우리가 이걸 활용을 해야하잖아? 만들었는데 안쓰면 갖다버려야지 그러므로

  • 먼저 우리가 new를 활용해서 '사람'이라는 클래스에 a라는 객체를 만들었잖아
  • 그럼 a객체에 age값을 넣고 싶을 때 a.age = "23";이라고 하면 돼
  • 뭔 뜻이냐!? -> 객체 a의 age는 23이에요~~라는 뜻이야 .의 뜻은 나는 필드에 있는 변수를 활용해 1번 객체에 나이를 넣겠다~ 라는 의미야. name과 isMarried도 이런식으로 하면 돼
  • 그리고 a.introduce()가 보일거야. 이건 사람 Class에 있는 introduce()라는 메서드인데 .introduce()라고 하면 아까는 변수를 활용하겠다! 였으면 이건 메서드를 활용하겠다!! 이런 뜻이야. 그럼 메서드{}안에 있는 것들이 실행 돼.
  • 그래서 사람 Class의 void introduce()메서드에 어떤게 있는지 봤더니?
    System.out.println("나이: "+this.age); 뭐 이런게 있잖아.
  • 이거는 객체a나이를 출력하고 싶어! 근데 age라는 변수의 값이 Main클래스에서 23이라고 넣었잖아? 그러면 이걸 가져올때 this를 활용하는거야! 'this.age' 이런식으로 ! 그러면 a.introduce()를 실행하면 a객체의 나이, 이름, 결혼 여부를 출력할 수 있어!
  • 만약 b객체의 정보를 출력하고 싶다면 b.introduce를 하면 되는거야!

아..너무 어렵다

profile
아자아자자

0개의 댓글