자바의 클래스(Class)와 객체(Object)
2024. 2. 1. 02:03ㆍJava
반응형
Intro
객체 지향 프로그래밍에서, 클래스와 객체는 프로그램을 설계하는 데 필요한 필수적인 요소이다.
자바에서 클래스가 논리(Logical)적 실체(Entity)만 될 수 있는 반면, 객체는 물리적(Physical) 또는 논리적 실체가 될 수 있다.
객체 (Object) 란 무엇인가
상태(State), 행동(Behavior)을 가지며 물리적, 논리적 실체가 존재할 수 있는 대상들은 모두 객체라는 이름으로 명명할 수 있다.
- 물리적 실체 예시 : 자전거, 자동차, 의자 등 물건
- 논리적 실체 예시 : 은행 시스템
객체의 구성요소
객체는 3개의 구성요소를 가진다.
- 상태 (State) : 객체 안의 데이터
- 행동 (Behavior) : 객체 안의 메서드
- ID (Idenetity) : 객체의 고유번호
객체와 클래스의 관계
객체는 클래스의 인스턴스이다.
클래스는 객체가 생성될 설계도이고, 객체는 클래스를 통해 생성된 결과물인 것이다.
클래스 (Class) 란 무엇인가
클래스는 공통적인 특징을 가진 객체의 집합이다. 클래스는 메모리를 점유하지 않는다.
어떤 객체가 생성될 것인지 지정하는 설계도 역할을 하며, 오직 논리적 실체로만 존재할 수 있다.
클래스의 구성요소
클래스는 다음 중 전부 또는 일부를 가질 수 있다.
- 필드 (Field)
- 메서드 (Method)
- 생성자 (Constructor)
- 코드 블록 (Block)
- 중첩 클래스, 인터페이스 (Nested class and interface)
클래스 선언
class className {
field;
method;
}
클래스의 인스턴스 변수와 메서드, new 키워드
인스턴스 변수 (Instance Variable) : 클래스 내부, 메서드 외부에 있는 변수를 의미한다. 컴파일시에는 메모리를 점유하지 않고, 런타임에 객체나 인스턴스가 만들어질 때 메모리를 점유한다.
메서드 (Method) : 객체의 행동을 정의하는 함수를 메서드라 한다.
new 키워드 : 메모리를 점유하도록 하는 키워드
class Developer { // class int id; // instance variable String name; public static void main(String args[]) { // method Developer d1 = new Developer; // object, allocate memory System.out.println(d1.id); // accessing reference variable } }
Resources
반응형