JAVA/기초공부

[JAVA 기초] 클래스 정의 및 객체 생성

SoU330 2024. 9. 25. 13:25

 

 

클래스(Class)의 정의

클래스는 객체지향 프로그래밍에서 객체를 생성하기 위한 설계도 또는 틀로, 객체가 공통적으로 소유한 속성과 행위를 추상화하여 코드로 나타낸 것이다. 이를 바탕으로 여러 객체를 만들 수 있다.

 

 

 

인스턴스(Instance)란?

클래스에서 생성된 실체 객체를 의미한다. 클래스가 객체를 만들기 위한 설계도라면 인스턴스는 그 설계도로부터 만들어진 구체적인 실체이다. 

- 클래스 : 객체를 정의하는 설계도. 클래스를 사용하여 같은 구조를 가진 여러 객체를 만들 수 있다.

- 인스턴스 : 클래스에서 실제로 생성된 객체. 클래스에서 정의된 속성과 메서드를 가지며 독립적인 값을 갖는다.

 

 

 

 

클래스의 구성

- 클래스 헤더 : 클래스의 정의가 시작되는 부분. 클래스의 이름, 접근 제어자, 상속 여부 등을 명시한다.

- 클래스의 멤버 변수 - 멤버변수, 메소드, 생성자로 구성된다.

멤버 변수 : 클래스 내의 데이터에 대한 속성 정의

메소드 : 객체의 행위를 기술

생성자 : 객체 내의 멤버 변수에 대한 초기화 담당

 

 

 

클래스 형식

[접근제한자] calss 클래스이름 [extends 슈퍼클래스이름]

{

     자료형 멤버변수;

     생성자;

     반환형 메소드() {};

}

 

* []는 생략가능하다

 

 

 

 

예) HandPhon 클래스 정의

class HandPhone {
    // 멤버 변수 선언
    String phoneNumber;
    String name;
    String address;

    // 메소드 작성
    public void hangUp(String number) {
        // 전화를 거는 메소드
    }

    public void receive(String number) {
        // 전화를 받는 메소드
    }

    public void ownerInfo() {
        // 소유자 정보 출력
    }
}

 

멤버 변수 선언

객체의 상태를 나타내기 위해 멤버변수를 사용한다.

일반 변수처럼 자료형과 함께 선언한다

 

 

메소드 정의

메소드 이름은 기능을 연상할 수 있도록 정한다.

소괄호 안에는 형식매개변수들을 자료형과 함께 나열한다.

이름 앞에는 반환하려는 값의 자료형을 적는다.

 

 

 

 

 

 

 

객체 생성

참조변수를 클래스이름과 변수를 사용하여 선언한다.

new 연산자를 사용하여 각각의 대상을 저장할 기억장소를 할당하고 선언한 참조변수에 대입한다.

객체가 생성되면 참조변수를 사용하여 값을 저장하고 메소드를 호출할 수 있다.

 

형식

클래스이름 참조변수 = new 클래스이름();

 

예시

class HandPhoneMainClass {
    public static void main() {
        // 클래스로부터 객체 생성
        HandPhone samsungHpc = new HandPhone();
        HandPhone lgHpc = new HandPhone();
        HandPhone motoHpc = new HandPhone();
    }
}

 

 

 

객차 사용 방법

참조변수와 . 을 사용하면 멤버변수에 접근하거나 메소드를 호출할 수 있다.

 

 

 

// samsungHpc 객체에 초기값 부여
samsungHpc.name = "소유진";
samsungHpc.address = "서울시 노원구";
samsungHpc.phoneNumber = "010-1234-5678";

// samsungHpc 객체에 저장된 결과 출력
samsungHpc.ownerInfo();