● JAVA/○ JAVA.CS

Java 기본 개념 11 (클래스 Class)

한량_ 2024. 3. 13. 12:17

사용자정의 자료형 - 모델링 도구 - Class라는 도구로 만들어 사용

 

객체(Object) = 이질적인 구조 = 모델(Model) = 덩어리(Value Object) = 바구니 = 이동(Data Transfer Object)

 

사용자정의자료형, 새로운 자료형, 객체 자료형

 

클래스란 무엇인가?

클래스 : 객체를 설계 = 모델링하는 도구

자료형 측면 : 새로운 자료형을 만드는 도구

public class MovieDTO {
    // 상태정보, 멤버변수, 속성, 프로퍼티(*)
    public String title;
    public int day;
    public String major;
    public String part;
    public float time;
    public int level;
}

 

객체지향 측면 : 현실세계에 있는 객체를 객체지향 프로그램에서 사용하기 위해

                         객체상태정보(멤버변수)행위정보(멤버메서드)를 뽑아서 설계하는 도구

// 객체(Object) = 상태정보(멤버변수) + 행위정보(멤버메서드)
public class Person {
    public String name;
    public int age;
    public String phone;
    public Person(){ -- 기본생성자, 생성자메서드
    // 객체를 생성하는 코드 생략 -- java에서 기계적으로 내부에서 자동처리를 함
    }
    public void play(){
        System.out.println("운동을 한다.");
    }
    public void eat(){
        System.out.println("음식을 먹다.");
    }
    public void walk(){
        System.out.println("걷다.");
    }
}

 

모델링 된 객체를 사용하기 위해서는 메모리에 객체를 생성 해야 된다.

 

Person p = new Person();

p : 인스턴스 변수

new : new 연산자

Person() : 생성자 메서드()

객체의 크기는 4byte로 정해져있다.

 

생성자메서드(Constructor)란?

new 연산에 의해서 호출이 된다.

자신이 가지고 있는 멤버들을 메모리에 올려 객체를 생성하는 역할

메서드 이름은 클래스 이름과 동일해야 한다.

접근제한자가 public인 경우에만 호출이 된다.

모든 클래스는 기본생성자(default constructor)를 가지고 있다.

객체의 초기화를 위해서 사용된다.

리턴(return) 타입이 없다. (void XXXXX!!!!!)

 

객체가 만들어지면 this도 만들어진다.

this : 자신을 가리키는 객체변수, 참조변수, 포인터 변수

 

객체를 메모리에 올리는 과정을 무엇이라고 하는가?

- 객체생성