우선 객체란, 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 속성을 갖고 있는 것을 말한다.
예를 들어 사람은 이름, 나이 등의 속성과 웃다, 걷다 등의 동작이 있다.
자바는 이 속성과 동작을 각각 필드(field)와 메소드(method)라고 부른다.
자바에서 객체는 클래스(class)를 통해 생성된다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
클래스로부터 생성된 객체를 해당 클래스의 인스턴스(instance)라고 한다.
클래스 생성
클래스는 첫글자를 대문자로 하고 나머지는 소문자로 작성한다. 두 단어 이상으로 이루어졌다면 낙타봉 표기법을 사용한다.
public class 클래스 이름 {}
객체 생성과 클래스 변수
클래스를 선언하고 컴파일 했다면 객체를 생성할 수 있다.
new 클래스();
new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스()의 형태를 갖고 있다.
1
2
3
4
|
package example1
public class Student {
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
|
package example1
public class StudentExample {
public static void main(String[] args) {
Student s1 = new Student();
System.out.println("s1 변수가 Student 객체를 참조함");
Student s2 = new Student();
System.out.println("s2 변수가 또 다른 Student 객체를 참조함");
}
}
|
cs |
Student 클래스는 하나지만 new 연산자로 생성한 만큼 객체가 메모리에 올라간다. 비록 같은 클래스로부터 생성되었지만 각각의 Student 객체는 자신만의 고유 데이터를 가진 완전히 서로 독립된 객체이다.
클래스의 구성 멤버
1
2
3
4
5
6
7
8
9
10
11
|
public class ClassName {
// 필드
int fieldName;
// 생성자
ClassName() { ... }
// 메소드
void methodName() { ... }
}
|
cs |
* 필드
- 선언 형태는 변수(variable)과 비슷하나 변수라고 부르지는 않는다.
- 생성자와 메소드 내에서만 사용되고 실행 종료시 자동 소멸된다.
* 생성자
- new 연산자로 호출되는 중괄호 블록이다.
- 객체 생성 시 초기화를 담당한다.
- 클래스 이름으로 되어 있고 리턴 타입이 없다.
* 메소드
- 객체의 동작에 해당하는 중괄호 블록이다.
- 객체 간의 데이터를 전달하는 수단이다.
필드와 생성자, 메소드는 다음 포스팅에서 알아보도록 하겠다.
'개발 관련 > Java' 카테고리의 다른 글
[혼공자] java - Class #03 생성자(Constructor) (0) | 2022.04.25 |
---|---|
[혼공자] java - Class #02 필드(Field) (0) | 2022.04.24 |
[혼공자] java - 배열(Array) (0) | 2022.04.24 |
[혼공자] java - 참조 타입(Reference Type) (0) | 2022.04.24 |
[혼공자] java 메모리 사용 영역(Runtime Data Area) (0) | 2022.04.24 |