시리즈:수학인듯 과학아닌 공학같은 컴퓨터과학/객체지향

64.233.173.135 (토론)님의 2015년 5월 31일 (일) 09:40 판 (새 문서: {{쉽게 알 수 있다 시리즈|이 문서는 정말 쉽습니다.|문서의 내용이 너무 쉬워서 오늘부터 객체지향으로 프로그래밍을 할 수 있을 것같습...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

문서의 내용이 너무 쉬워서 오늘부터 객체지향으로 프로그래밍을 할 수 있을 것같습니다.

이 문서에는 독자적으로 연구한 내용이 들어갑니다. 다른 사람의 의견을 존중하면서 무례하지 않도록 작성해 주시고, 의견 충돌 시 토론 문서에서 토론해 주세요.

객체지향이란?

객체지향프로그래밍(Object-Oriented Programming)이란 우리가 일상생활에서 생각하는 대로 프로그램 내부의 '객체'를 다루기 위한 기법입니다.

올바르지 않은 표현이지만 자동차를 예로 들면,

자동차는 크게 나누어 바퀴와 차체로 나누어 집니다.

기능적으로 설명하면 바퀴는 굴러가고 차체는 안에 사람이나 짐을 싣고 동력을 바퀴에 전달하죠.

또 차체는 문과 창문, 프레임, 파워트레인, 엔진 등으로 나눌 수 있고요.

또 그것을 기능적으로 설명하고, 그 물건을 또 나누고....

이렇게 해서 모든 부품과 부품의 역할을 설명할 수 있게 하는 것이 객체지향 프로그래밍의 첫번째 목적입니다.

클래스

클래스는 쉽게 말해서 교실입니다.

교실 안에는 여러 사람들(학생)이 모여있겠죠.

그리고 또한 물건(책상, 의자 등)이 놓여 있고요.

학생을 메소드(함수)라고 치고 물건을 필드(변수)라고 치면,

학생이 물건을 이용해서 무언가를 한다.

= 메소드가 필드를 이용해서 무언가를 한다.

라는 설명이 완성됩니다.

물론 이 설명이 완벽한것은 아니지만 대충 비슷한 원리로 생각하시면 될 것 같습니다.

멤버 변수(프로퍼티)

멤버 함수(메소드)

객체

객체란 위에서 설명했듯이, 모든것이 객체가 됩니다. 클래스도 교실이 되고요, 필드(변수)도 객체입니다. 하지만 학생은 객체가 아닙니다. 학생으로 비유한 메소드(함수)는 행동이기 때문에 객체로 보지 않습니다.

생성자

소멸자

접근 제한자

멤버 함수 재정의(오버라이드)