초창기 컴퓨터는 과학 실험이나 미사일 발사실험과 같은 모의 실험(simulation)을 목적으로 사용되었다. 그래서 과학자들은 실제 세계와 유사한 가상 세계를 컴퓨터에 구현하고자 하였고 이러한 노력 끝에 simula와 같은 새로운 종류의 프로그래밍 언어도 탄생하게 되었다. 이러한 시도는 객체지향이론의 시발이 되었다.
객체지향이론의 기본 개념은
"실제 세계는 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다."라는 것이다.
다음은 자바에서 객체와 관련한 기본 개념의 간단한 정의들이다.
차근 차근 따라가다 보면 클래스와 인스턴스에 대해 정확히 알 수 있다.
객체: 실제로 존재하는 것
클래스: 객체를 정의해 놓는 것
프로그래밍에서 객체란? 클래스에서 정의해놓은대로 메모리에 생성된 것
자바에서 객체와 인스턴스는 거의 비슷한 의미로 사용된다.
클래스의 인스턴스화 : 클래스로부터 객체를 만드는 과정
클래스의 인스턴스 : 어떤 클래스로 부터 만들어진 객체
객체 : 속성과 기능의 집합
객체의 멤버: 객체가 가지고 있는 속성과 기능
객체의 속성: 멤버변수 -> 변수
객체의 기능: 메서드 -> 함수
일반적으로 멤버변수를 먼저 선언하고 메소드를 선언한다.
다시 한번 정리하자.
컴퓨터에 현실 세계와 최대한 유사하게 설계한 가상의 세계를 객체라고 한다.
객체는 실제로 존재하는 세계이다.
사람들은 컴퓨터에서 클래스안에 객체를 정의해 놓았다.
객체는 속성과 기능으로 이루어져 있다.
속성은 컴퓨터에서 멤버변수(or 변수)와 기능(or 메서드)으로 구성되어 있다.