클래스와 객체
2025. 2. 20. 16:14ㆍJava/객체지향
1. 클래스와 객체
- 클래스
- 클래스란 객체를 정의해 놓은 것, 객체의 설계도 또는 틀
- 클래스는 사용자 정의 자료형
- 구성 멤버에는 필드, 생성자, 메서드가 있다.
- 객체
- 실제로 존재하는 것, 클래스에 정의된 대로 메모리에 올라가 구체적인 값이 들어가 있는 상태
- 클래스를 한번 잘 만들어 놓으면 객체를 생성할 때마다 고민할 필요없이 클래스로부터 객체를 생성하기만 하면 된다.
2. 객체와 인스턴스
클래스 ㅡ[인스턴스화]ㅡ> 인스턴스(객체)
- 클래스로부터 객체를 만드는 과정: '클래스의 인스턴스화'
- 어떤 클래스로부터 만들어진 객체: '그 클래스의 인스턴스'
- 객체와 인스턴스
- 객체는 모든 인스턴스를 대표하는 포괄적인 의미
- 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미
- 예: '책상은 객체다', '책상은 책상 클래스의 인스턴스이다'
3. 객체의 구성요소 (속성과 기능)
객체 = 속성 + 기능
- 속성: 멤버변수, 특성, 필드, 상태 -> 주로 명사형태
- 기능: 메서드, 함수, 행위 -> 주로 동사형태
4. 클래스의 또 다른 정의
- 객체지향이론 관점의 정의: 객체를 생성하기 위한 틀
- 프로그래밍적인 관점의 정의
- 데이터와 함수의 결합: 클래스 = 변수 + 함수, 변수(데이터)와 함수를 하나의 클래스에서 정의하여 서로 관계가 깊은 변수와 함수들을 함께 다룰 수 있게 한다.
- 사용자 정의 타입: 프로그래밍 언어에서 제공하는 자료형 외 프로그래머가 서로 관련된 변수들을 묶어서 하나의 타입으로 새로 추가하는 것
5. 인스턴스의 생성과 사용
//인스턴스의 생성
클래스명 변수명; //클래스의 객체를 참조하기 위해 참조변수를 선언
변수명 = new 클래스명(); //클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
클래스명 변수명 = new 클래스명(); //선언, 생성 동시에
//인스턴스의 사용
//인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야한다.
변수명.멤버변수;
변수명.메서드();