객체지향프로그래밍 중간텀

25
객객객객객객객객객 객객객 울울울울울 Programming System Lab. 울울울

Upload: aladdin-horton

Post on 02-Jan-2016

90 views

Category:

Documents


0 download

DESCRIPTION

객체지향프로그래밍 중간텀. 울산대학교 Programming System Lab. 이태호. 목차. 필수 요구사항 점검 클래스와 메서드 , 맴버필드 ~ 클래스는 머고 객체는 먼데요 주어진 소스는 어떤 의미가 있나여 필수 요구사항을 들어주자 ! 주어진 소스에 어떤걸 넣어야 하나여 주어진 소스 외에 어떤걸 넣어야 하나여 자바 조교님이 좋아할 추가 구현사항 정렬 ( 사람이름 , 성적순 ) 설명서 작성 이렇게 하세여. 필수 요구사항 점검. 클래스와 메서드 , 맴버필드 ~ - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 객체지향프로그래밍 중간텀

객체지향프로그래밍 중간텀

울산대학교 Programming System Lab.

이태호

Page 2: 객체지향프로그래밍 중간텀

목차

• 필수 요구사항 점검– 클래스와 메서드 , 맴버필드 ~– 클래스는 머고 객체는 먼데요– 주어진 소스는 어떤 의미가 있나여

• 필수 요구사항을 들어주자 !– 주어진 소스에 어떤걸 넣어야 하나여– 주어진 소스 외에 어떤걸 넣어야 하나여

• 자바 조교님이 좋아할 추가 구현사항– 정렬 ( 사람이름 , 성적순 )

• 설명서 작성 이렇게 하세여

Page 3: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 클래스와 메서드 , 맴버필드 ~– 클래스 메서드 맴버필드는 다들 아시죠 ?

클래스 SonOGong

맴버필드

String enemies[] = { 프리더 , 셀 , 마인부우 };

String friends[] = { 크리링 , 베지터 , 피콜로 };

메서드

int Gyewanggwon { return 10;}

int Onegiok { return 999;}

int Energypah { return 500;}

Page 4: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 성적 처리랑 손오공이랑 어떻게 매치 시킬까요 ㅠㅠ

성적처리

학생이름

학생성적

손오공

적 이름

친구 이름

성적처리

싸움기술

Page 5: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 클래스는 머고 객체는 먼가요 ?

맴버변수

메서드

맴버변수

메서드

맴버변수

메서드

맴버변수

메서드

Page 6: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 자바 문법을 이용해 좀더 구체화해봅시다

class 붕어빵 {

int 맴버변수 ;

void 메서드 (){};

}

Page 7: 객체지향프로그래밍 중간텀

필수 요구사항 점검

new 붕어빵 ();

드디어

붕어빵 객체( 인스턴스 )

생성 !!

Page 8: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 주어진 소스는 어떤 의미가 있나여– 친절한 자바조교님께서 벌써 성적처리할

놈을 만들어 두셨네요

근데 머이래 많아 ;;;

한 놈만 있어도 되는 거 아닌가요 ?

Page 9: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 한 놈만 있어도 됩니다– 그러나 좋은 성적은 기대하지 말라는 거 .

• 그럼 좋은 성적을 받기 위해 나눠놨나요 ?– 왜 우리가 배우는 과목이 객체지향인지

생각해보세요 .

Page 10: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 나누어둔 이유– 실생활을 모델링하여 컴퓨터 안에서

구현하는 공학도들…– 어떻게 하면 실생활과 비슷한 구조를

컴퓨터 안에서 살릴 수 있을까…

Page 11: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 나누어둔 이유

공격 !!

•만약 드래곤볼 작가가 취업대란에 휩쓸려 3 년 동안 취직도 못하고 4 년 동안 9 급 공무원 시험 쳐서 지방직 국가직 할거없이 다 떨어지고 토익 3 백점에 여자친구에게까지 결별을 선언 받아 손오공을 죽여버렸다면 ?????

•게임끝 지구멸망 우주멸망

Page 12: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 나누어둔 이유

인기가 많아진 베지터

원피스에서 섭외요청

난 다시태어났어

new SonOkong();

얘들은 필요없는데

네놈은 불사신인가 !!

ㄷㄷㄷ

Page 13: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 나누어둔 이유

공격 !!

베지터 빅뱅어택

피콜로 마광광살포

크리링 기원참

손오공 에네르기파로

떡실신 프리더

우주의 평화는 영원하리~~

Page 14: 객체지향프로그래밍 중간텀

필수 요구사항 점검

• 나누어둔 이유

처리 !!

베지터 성적처리실행

피콜로 성적입력 받음

크리링 성적 합하고 평균 냄

손오공 성적출력

떡실신 성적처리

성적처리

RecordManagerMain

RecordPrinter

StudentRecordData

RecordProcessor

Page 15: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• 주어진 소스에 어떤걸 넣어야 하나여– 잡설그만 본론으로 들어가면…– 자바 조교님이 각 클래스에 어떤 기능을

넣기를 원하는지 알아봅시다 .• 이름에서 냄새를 맡아봅니다 .• 소스코드를 열어 주석을 확인해봅니다 .• 소스코드를 열어 어떤 변수나 메서드

이름에서 유추해봅니다 .• 이클립스의 빨간줄을 유심히 봅니다 .

한번 알아 맞춰봐

Page 16: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• RecordManagerMain– 이름에서 : 음 먼가 가장 중심이 되는

냄새가 나는군요 . 자바 프로그램을 실행하는데 필요한 main 메서드가 있겠군요 .

– 주석에서 :

• 음 역시 친절한 자바 조교사마

Page 17: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• StudentRecordData– 이름에서 : 음 학생성적정보를 담당하는 녀석이란 냄새가…

– 주석에서 :

• 우아 .. .완전 킹왕짱 친절…

– 변수 이름에서 :

Page 18: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• RecordProcessor

– 이름에서 : 성적처리… ㄷㄷㄷ

– 주석에서 : – 메서드 이름에서 :StudentRecordData process(StudentRecordData srd){

public float getSum(){

return this.srd.getSum();

}

public float getAver(){

return this.srd.getAver();

}

Page 19: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• RecordPrinter– 이름에서 : 성적프린트하는 녀석

– 아 귀찮아

Page 20: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• 주어진 소스 외에 어떤걸 넣어야 하나여– 정작 키보드에서 입력받는 역할을 하는

클래스는 없어요 .• RecordWriter 클래스가 필요할 거 같아요 .

Page 21: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

•상관관계를 그림으로 ㅎㅎ

RecordManagerMain

학생성적 1

StudentRecordData

학생성적 출력

RecordPrinter

학생성적 더하고 평균내기

RecordProcessor

학생성적 입력

RecordWriter

학생성적 3

StudentRecordData

학생성적 2

StudentRecordData

Page 22: 객체지향프로그래밍 중간텀

필수 요구사항을 들어주자 !

• 그림을 코드로– 숙달된 튜터의 시범이 있겠다 .

도하 시범을 보이고 있는 1,2,3번 독수리

Page 23: 객체지향프로그래밍 중간텀

자바 조교님이 좋아할 추가 구현사항

• 정렬– 선택정렬 , 삽입정렬 , 버블정렬– 알고리즘처럼 하면 됨– 정렬 클래스를 만들어서 해도되고 그냥

클래스에 메소드 하나 추가해도 되겠네요

Page 24: 객체지향프로그래밍 중간텀

설명서 작성 이렇게 하세여

•예전에 자바 좀 했다는 오빠의 설명서

오빠 자바 좀 했어

오빠 못 믿니 ?토끼가 알을 낳았다고 해도 믿어요 ~~

Page 25: 객체지향프로그래밍 중간텀

마지막으로…

• 열심히 하셔서 좋은 성적 거두세요 ~