본문 바로가기
Skills/Java

객체지향이론, 클래스, 객체, 인스턴스

by Hoseok 2022. 12. 16.
728x90
반응형

 

객체지향이론 : '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물(객체)간의 상호작용이다.

 

자바는 절차적 언어가 아닌 객체지향 언어이다.

객체지향언어의 장점은 코드의 재사용성이 높고 유지보수가 용이하다.


● 클래스 : 객체의 설계도, 틀

● 객체 : 실제로 존재하는 사물 또는 개념

● 인스턴스 : 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 결국 인스턴스는 객체와 같은 의미이지만, 객체는 포괄적인 의미를 갖고 있고, 인스턴스는 구체적인 의미를 갖고 있다. 


객체의 구성요소 - 속성과 기능

 속성 : 멤버변수, 특성, 필드, 상태(모두 같은 의미)

 기능 : 메서드, 함수, 행위(모두 같은 의미)

TV t;				//Tv클래스 타입의 참조변수 t를 선언
t = new Tv();		//Tv인스턴스를 생성한 후, 생성된 Tv 인스턴스의 주소를 t에 저장

인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야 한다.

 

클래스는 객체지향이론의 관점에서 '객체를 생성하기 위한 틀'이며 '클래스는 속성과 기능으로 정의되어있다.'고 했다.

하지만 프로그래밍적인 관점에서는 두 가지 의미를 더 가진다.

1. 클래스 - 데이터와 함수의 결합

2. 클래스 - 사용자 정의 타입

728x90
반응형

'Skills > Java' 카테고리의 다른 글

객체지향의 5원칙 SOLID  (0) 2023.01.29
인스턴스 메서드, 클래스 메서드  (0) 2022.12.19
오버로딩  (0) 2022.12.16
클래스변수, 인스턴스변수, 지역변수  (0) 2022.12.16
점프 투 자바 정리 (1) (자바와 자료형)  (1) 2022.10.21