혼자공부하는자바 및 구글 참조
우리가 로봇을 조립한다고 했을때 로봇에 들어가는 부품들을 전부 연결해서 로봇이라는 걸 완성한다.
객체지향 프로그래밍이란 로봇에들어가는 부품들을 전부 객체라고 생각했을때 이 객체들을 전부 모아서 조립해서 완성된 프로그램을 만드는것. 이것이 객체지향프로그래밍(oop)라고 부른다
객체지향 프로그래밍에서 클래스가 실제로 구현된 인스턴스(클래스(class)에 소속된 개별적인 객체를 말한다) 절자치향적 프로그래밍과 달리 하나의 객체가 데이터의 동작을 모두 포함할 수 있다.
우리가 살아가면서 보는 모든것 그리고 생각하는것을 표현을 해서 정의 시킨것 들 모두 객체라고 볼수 있다.
프로그래밍에서는 클래스에 정의된 내용대로 메모리에 저장된것 을 뜻한다.
자동차라는 물체가 있을때
자바에서는 자동차 객체(class) 로 받아들이고
포함된데이터(속성) 또는 변수 이름, 나이 가 정해져있고
행동으로(메소드)또는 함수 로 달린다, 멈춘다 라는 2가지 함수를 정해줄수 있다.
현실의 것을 소프트웨어 객체로 설계하는것을 모델링이라고 하며, 객체모델링은 현실 세계 객체의 속성과 동착을 추려내어 소프트웨어 객체의 속성과 메소드로 정의하는 과정.
현실 세계에서 는 모든게 상호작용으로 일어난다 예를들어서 사람이라는 객체가 자동차라는 객체를 이용하는 것
사람은 자동차를 통해서 달리거나 멈출수 있다.
이것을 프로그래밍에서 사람 과 자동차라는 객체 를 만들어서 속성 과 메소드를 만들어놓고 사람이라는 객체가 자동차라는 객체를 이용할 수 있게 만들면 이게 상호작용이다. 메소드를 통해서 동작을 할수 있게한다(호출하는것)
리턴값 = 자동차.메소드(매개변수1,매개변수2);
예를들어 자동차라는 걸 이용하기위해서는 키와 기름이 필요하다고 했을대 사람이라는 객체가 자동차를 호출해서 키와, 기름 속성을 넣어 주면 이용할수 있게된다. 즉 리턴값을 받는다.
객체는 개별적으로 사용될수 있으나, 대부분 다른 객체와 관계를 맺고 있다.
이 관계의 종류에는
가 있다.
객체 지향 프로그래밍은 만들고자 하는 완성품인 객체를 모델링하고, 집합 관계에 있는 부품 객체와 사용 관계에 하나씩 설계한후 조립하는 방식으로 프로그램을 개발하는 기법이다.
지구상의 모든 객체는 하나님이 만들엇겠지만. 우선 인간세상에서는 설계도를 바탕으로 만든다. 예를들어 사람들이 자동차를 이용하기위해선 공장에서 설계도를 보고 자동차를 만들어야한다. 이것을 객체지향 프로그래밍의 관점에서 봤을때 컴퓨터 메모리에서 사용하고 싶은 객체가 있다면 우선 개발자가 설계도로 해당 객체로 만드는 작업을 해야한다.
자바에서는..
예를들어 붕어빵틀을 붕어빵 클래스라고 봤을떄 이 클래스를 가지고 만들어낸게 붕어빵일것이다 이 붕어빵이 인스턴스라고 한다.
즉 설계도는 클래스이며 클래스로 만든 객체를 인스턴스라고 한다
클래스로 객체를 만드는것
보통 클래스의 타입으로 선언된것을 인스턴스라고 부른다
Person p = new Person()
이런식