1. 클래스(Class)
1) 정의: 객체를 정의
2) 용도: 객체를 생성하는 데 사용
3) 클래스로부터 객체 생성 -> 클래스에 정의된 속성과 기능을 가진 객체가 만들어진다.
4) 객체를 만들어 내기 위한 설계도 혹은 틀
2. 객체(Object)
1) 정의: 실제로 존재하는 것
2) 용도: 객체가 가지고 있는 기능과 속서에 따라 다름
3) 다수의 속성과 다수의 기능을 가짐. -> 그 객체의 멤버(구성원, member)라 일컫는다.
4) 소프트웨어 세계에 구현할 대상
3. 인스턴스(Instance)
1) 클래스로부터 객체를 만드는 과정: 클래스의 인스턴스화(instantiate)
2) 어떤 클래스로부터 만들어진 객체 -> 그 클래스의 인스턴스
3) 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
클래스, 객체, 인스턴스 차이
> 클래스 - 객체 : 클래스는 설계도, 객체는 설계도로 구현한 모든 대상
> 객체 - 인스턴스 : 클래스 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제로 사용될 때
인스턴스라 부른다.
변수
1. 인스턴스 변수(Instance variable)
- 클래스 영역에 선언되며, 인스턴스를 생성할 때 만들어진다.
- 인스턴스마다 별도의 저장공간을 가지므로 서로 다른 값을 가질 수 있다.
- 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우 사용
2. 클래스 변수(Class variable)
- 인스턴스 변수 앞에 static을 붙이면 선언된다.
- 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다.
- 인스턴스를 생성하지 않고 바로 사용할 수 있다. ( '클래스 이름. 클래스 변수' 형식)
- 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우 사용
3. 지역 변수(Local variable)
- 메서드 내에 선언되어 메서드 내에서만 사용 가능
- 메서드 종료 시, 소멸된다.
- for문 또는 while문 블록 내에 선언된 변수는 블록을 벗어나면 소멸한다.
'Java' 카테고리의 다른 글
자바의 컴파일 과정 (0) | 2021.10.31 |
---|---|
[JAVA] Wrapper Class와 일급 컬렉션 (0) | 2021.10.17 |
[JAVA] Lambda와 Stream (0) | 2021.10.09 |
[JAVA] 이것저것.. (0) | 2021.08.19 |
[JAVA] 제네릭(Generic) (0) | 2021.08.15 |