객체 지향 프로그래밍은 객체를 프로그램의 기본 단위로써 나누고 그 객체들이 상호 작용 하는 프로그램이라 배웁니다.
그렇다면 여기서 말하는 객체란 정확히 무엇일까요? 함께 학습이 필요한 클래스와 인스턴스도 같이 알아보겠습니다.
클래스(Class)
- 객체가 정의된 '설계도'
- 객체를 생성 하기 위해서 클래스가 꼭 필요함
- 객체의 생성을 위한 용도이지 객체로써 직접 사용 할 수 없음
객체(Obejct)
- 클래스를 이용해 만들어진 객체
- 모든 인스턴스는 객체에 포함됨
인스턴스(Instance)
- 인스턴스화는 클래스로부터 객체를 만드는 과정임. ex) Unit unit = new Unit():
- 클래스를 사용해서 만들어진 객체를 '인스턴스 객체'라고 부름
- 모든 인스턴스는 객체에 포함됨
아래 코드를 보면 이해를 좀 더 쉽게 할 수 있습니다.
우선 class Unit 에서 다양한 변수 및 메소드를 설정 할 수 있습니다. 이 과정을 설계도에 작업이라 생각 하시면 됩니다.
그리고 메인 클래스에서 Unit marine = new Unit()은 클래스를 인스턴스화 하는 부분입니다.
그 인스턴스를 포함하고 있는 부분은 ClassInstanceObject인 객체입니다.
// 큰 의미의 객체와 인스턴스
public class ClassInstanceObject {
public static void main(String[] args) {
// 클래스를 인스턴스화 하고 있는 부분
Unit marine = new Unit();
Unit medic = new Unit();
}
}
// 클래스 (설계도)
class Unit {
}
'Programming > JAVA' 카테고리의 다른 글
[자바] 다형성(Overriding 과 Overloading) (0) | 2020.09.01 |
---|---|
[자바] 상속과 생성자 (0) | 2020.08.28 |
[자바] 자바 open jdk 설치 및 자바 환경 변수 설정 (0) | 2019.03.09 |
[자바]-1+3-5+7-9...1-3+5-7+9-11... 합 구하기 (0) | 2018.07.27 |
[자바] 1부터 100까지 짝수/홀수 합. i부터 n까지 짝수/홀수 합 (0) | 2018.07.27 |