객체지향 프로그래밍에서, 메모리에서 사용하고 싶은 객체가 있다면 우선 설계도로 해당 객체를 만드는 작업이 필요할 것입니다. 이 설계도가 바로 클래스(class) 입니다.

클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있게 됩니다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance) 라고 합니다.

그리고 클래스로부터 객체를 만드는 과정을 인스턴스화 라고 합니다.


객체지향 프로그래밍 개발은 세가지 단계로 이루어 집니다.

1) 클래스 설계

2) 설계된 클래스를 가지고 사용할 객체를 생성

3) 생성된 객체를 이용


[Class 선언]

public class 클래스이름 {

...

}

여기서, public class 키워드는 클래스를 선언 시 사용하며 반드시 소문자로 작성해야 합니다.

클래스 이름 뒤에는 반드시 중괄호{ } 를 붙여주어야 합니다.

(* 클래스 이름은 맨 앞 알파벳은 대문자로 해주는 것이 관례라고 합니다 :D )


ex) 

(Student.java

public class Student {

}


(Test.java)

public class Test {

public static void main(String[] args) {

Student s1 = new Student();            //new연산자로 Student클래스 객체를 생성

System.out.println("new로 생성한 s1 변수가 Student 객체를 참조!");

Student s2 = new Student();

System.out.println("new로 생성한 또 다른 s2 변수가 Student 객체를 참조!");

}

}

와 같이 파일을 만들어 주고 실행하면, 화면에 다음과 같이 출력이 될 것입니다.

결과)

new로 생성한 s1 변수가 Student 객체를 참조!

new로 생성한 또 다른 s2 변수가 Student 객체를 참조!


[클래스의 구성 멤버]

public class ClassName {

int fieldName;                //필드

ClassName() { ... }            //생성자

void methodName() { ... }  //메소드

}


1) 필드 : 객체의 데이터가 저장되는 곳

- 객체의 고유 데이터, 상태 정보등을 저장하는 곳입니다. 선언 형태는 변수와 유사하지만 필드를 변수라 부르지는 않습니다. 변수는 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행종료되면 자동 소멸됩니다.

하지만 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재합니다.


2) 생성자 : 객체 생성 시 초기화 역할 담당

- 생성자는 new 연산자로 호출되는 특별한 중괄호 { } 블록입니다. 필드를 초기화하거나, 메소드를 호출하여 객체를 사용할 준비를 하게 됩니다. 생성자는 메소드와 비슷하게 생겼지만, 클래스 이름으로 되어있고 리턴타입이 없습니다.


3) 메소드 : 객체의 동작에 해당하는 실행 블록

- 객체의 동작에 해당하는 중괄호 { } 블록을 말합니다. 중괄호 블록은 이름을 가지고 있는데, 이것이 메소드 이름입니다.

메소드를 호출하면 중괄호 블록내에 있는 모든 코드들이 일괄적으로 실행됩니다.

메소드는 객체간의 데이터 전달의 수단으로 사용되며 외부로부터 매개값을 받을수도 있고, 실행 후 어떤 값을 리턴할 수도 있습니다.


WRITTEN BY
SiriusJ

,