[Pl in c++] 5. 객체지향 프로그래밍

1,494 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,494
On SlideShare
0
From Embeds
0
Number of Embeds
119
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Pl in c++] 5. 객체지향 프로그래밍

  1. 1. 객체지향 프로그래밍
  2. 2. 객체지향 프로그래밍의 비유(1)  객체지향 프로그래밍은 부품을 모아서 조립하는 과정이 비유할 수 있다. 여기서 객체를 부품이라고 볼 수 있다. [20-1]
  3. 3. 객체지향 프로그래밍의 비유(2)  부품별로 분업할 수 있는 것처럼, 객체를 만들 때도 자신의 객체 에 대해서만 노력을 집중할 수 있다.  제가 발생한 경우에 해당 부품만 교체하면 되듯이, 객체에 문제 가 있는 경우에는 해당 객체만 고치면 된다. [20-2] [20-3]
  4. 4. 객체지향 프로그래밍의 비유(3)  하나의 부품을 여러 제품에 사용할 수 있는 것처럼, 잘 만들어 놓은 객체는 다음 번 프로젝트에도 재사용할 수 있다.  부품들의 규격이 정해져 있어야 조립이 가능한 것처럼, 객체간 의 연결 부분도 잘 약속되어 있어야 한다. [20-4] [20-5]
  5. 5. 클래스 객체 (오브젝트)
  6. 6. 건담 ( ) 건담
  7. 7. Battleship Game에 필요한 객체들
  8. 8. Battleship Game에 필요한 객체들 MapPlayer Aircraft Battleship DestroyerCruiser Submarin ?
  9. 9. Battleship Game에 필요한 객체들 MapPlayer Aircraft Battleship DestroyerCruiser Submarine Game Manager (Logic)
  10. 10. 객체 속성 행동 캐릭터 머리모양, 키, 피부색 공격력, 방어력 레벨 아이템 달리기, 서있기, 앉기 공격하기, 방어하기 맞기, 죽기
  11. 11. 크기와 색상이 달라도 다 같은거…
  12. 12. 객체 속성 행동 객체 멤버 변수 멤버 함수 (메소드)
  13. 13. 각 객체들의 속성과 행동을 정의하자 MapPlayer Aircraft Battleship DestroyerCruiser Submarine Game Manager (Logic)
  14. 14. Aircraft 위치 파손상 태 ? Battleship 위치 파손상 태 ? Cruiser 위치 파손상 태 ? Destroyer 위치 파손상 태 ? Submarine 위치 파손상 태 ?
  15. 15. 떄린건가? 맞은건가?
  16. 16. 객체는 내가 중심이다 다른 객체에 대해서는 신경쓰지 않아도 된다.
  17. 17. Aircraft 위치 파손상 태 히트 체크 Battleship 위치 파손상 태 히트 체크 Cruiser 위치 파손상 태 히트 체크 Destroyer 위치 파손상 태 히트 체크 Submarine 위치 파손상 태 히트 체크
  18. 18. 자식 클래스
  19. 19. Ship - 위치, 파손 상태 - 히트 체크 Aircraft Battleship Cruiser Destroyer Submarine 부모 클래스 베이스 클래스 자식 클래스, 파생 클래스
  20. 20. Ship.h (헤더파일 / 클래스 선언) Ship.cpp (헤더파일 / 클래스 정의)
  21. 21. • 헤더 파일 (.h) - 선언 • 클래스의 인터페이스를 선언한다 • 다른 객체들에게 노출되는 클래스의 인터페이스 • 일반적으로 실제 구현은 없는 외부 껍데기 • 함수의 인터페이스만을 선언한다. • 코드 파일 (.cpp) – 정의 • 실제 프로그램의 실행 부분을 구현하는 정의 부분 • 함수의 내용을 실제로 구현하는 파일 • 실제 컴파일은 cpp 파일만 이루어 진다.
  22. 22. [과제] BattleShip Game에 필요한 객체들의 인터페이스(.h)를 구현하여라. MapPlayer Aircraft Battleship DestroyerCruiser Submarine Game Manager (Logic)

×