Upload
aladdin-horton
View
91
Download
0
Embed Size (px)
DESCRIPTION
객체지향프로그래밍 중간텀. 울산대학교 Programming System Lab. 이태호. 목차. 필수 요구사항 점검 클래스와 메서드 , 맴버필드 ~ 클래스는 머고 객체는 먼데요 주어진 소스는 어떤 의미가 있나여 필수 요구사항을 들어주자 ! 주어진 소스에 어떤걸 넣어야 하나여 주어진 소스 외에 어떤걸 넣어야 하나여 자바 조교님이 좋아할 추가 구현사항 정렬 ( 사람이름 , 성적순 ) 설명서 작성 이렇게 하세여. 필수 요구사항 점검. 클래스와 메서드 , 맴버필드 ~ - PowerPoint PPT Presentation
Citation preview
객체지향프로그래밍 중간텀
울산대학교 Programming System Lab.
이태호
목차
• 필수 요구사항 점검– 클래스와 메서드 , 맴버필드 ~– 클래스는 머고 객체는 먼데요– 주어진 소스는 어떤 의미가 있나여
• 필수 요구사항을 들어주자 !– 주어진 소스에 어떤걸 넣어야 하나여– 주어진 소스 외에 어떤걸 넣어야 하나여
• 자바 조교님이 좋아할 추가 구현사항– 정렬 ( 사람이름 , 성적순 )
• 설명서 작성 이렇게 하세여
필수 요구사항 점검
• 클래스와 메서드 , 맴버필드 ~– 클래스 메서드 맴버필드는 다들 아시죠 ?
클래스 SonOGong
맴버필드
String enemies[] = { 프리더 , 셀 , 마인부우 };
String friends[] = { 크리링 , 베지터 , 피콜로 };
메서드
int Gyewanggwon { return 10;}
int Onegiok { return 999;}
int Energypah { return 500;}
필수 요구사항 점검
• 성적 처리랑 손오공이랑 어떻게 매치 시킬까요 ㅠㅠ
성적처리
학생이름
학생성적
손오공
적 이름
친구 이름
성적처리
싸움기술
필수 요구사항 점검
• 클래스는 머고 객체는 먼가요 ?
맴버변수
메서드
맴버변수
메서드
맴버변수
메서드
맴버변수
메서드
필수 요구사항 점검
• 자바 문법을 이용해 좀더 구체화해봅시다
class 붕어빵 {
int 맴버변수 ;
void 메서드 (){};
}
필수 요구사항 점검
new 붕어빵 ();
드디어
붕어빵 객체( 인스턴스 )
생성 !!
필수 요구사항 점검
• 주어진 소스는 어떤 의미가 있나여– 친절한 자바조교님께서 벌써 성적처리할
놈을 만들어 두셨네요
근데 머이래 많아 ;;;
한 놈만 있어도 되는 거 아닌가요 ?
필수 요구사항 점검
• 한 놈만 있어도 됩니다– 그러나 좋은 성적은 기대하지 말라는 거 .
• 그럼 좋은 성적을 받기 위해 나눠놨나요 ?– 왜 우리가 배우는 과목이 객체지향인지
생각해보세요 .
필수 요구사항 점검
• 나누어둔 이유– 실생활을 모델링하여 컴퓨터 안에서
구현하는 공학도들…– 어떻게 하면 실생활과 비슷한 구조를
컴퓨터 안에서 살릴 수 있을까…
필수 요구사항 점검
• 나누어둔 이유
공격 !!
•만약 드래곤볼 작가가 취업대란에 휩쓸려 3 년 동안 취직도 못하고 4 년 동안 9 급 공무원 시험 쳐서 지방직 국가직 할거없이 다 떨어지고 토익 3 백점에 여자친구에게까지 결별을 선언 받아 손오공을 죽여버렸다면 ?????
•게임끝 지구멸망 우주멸망
필수 요구사항 점검
• 나누어둔 이유
인기가 많아진 베지터
원피스에서 섭외요청
난 다시태어났어
new SonOkong();
얘들은 필요없는데
네놈은 불사신인가 !!
ㄷㄷㄷ
필수 요구사항 점검
• 나누어둔 이유
공격 !!
베지터 빅뱅어택
피콜로 마광광살포
크리링 기원참
손오공 에네르기파로
떡실신 프리더
우주의 평화는 영원하리~~
필수 요구사항 점검
• 나누어둔 이유
처리 !!
베지터 성적처리실행
피콜로 성적입력 받음
크리링 성적 합하고 평균 냄
손오공 성적출력
떡실신 성적처리
성적처리
RecordManagerMain
RecordPrinter
StudentRecordData
RecordProcessor
필수 요구사항을 들어주자 !
• 주어진 소스에 어떤걸 넣어야 하나여– 잡설그만 본론으로 들어가면…– 자바 조교님이 각 클래스에 어떤 기능을
넣기를 원하는지 알아봅시다 .• 이름에서 냄새를 맡아봅니다 .• 소스코드를 열어 주석을 확인해봅니다 .• 소스코드를 열어 어떤 변수나 메서드
이름에서 유추해봅니다 .• 이클립스의 빨간줄을 유심히 봅니다 .
한번 알아 맞춰봐
필수 요구사항을 들어주자 !
• RecordManagerMain– 이름에서 : 음 먼가 가장 중심이 되는
냄새가 나는군요 . 자바 프로그램을 실행하는데 필요한 main 메서드가 있겠군요 .
– 주석에서 :
• 음 역시 친절한 자바 조교사마
필수 요구사항을 들어주자 !
• StudentRecordData– 이름에서 : 음 학생성적정보를 담당하는 녀석이란 냄새가…
– 주석에서 :
• 우아 .. .완전 킹왕짱 친절…
– 변수 이름에서 :
필수 요구사항을 들어주자 !
• RecordProcessor
– 이름에서 : 성적처리… ㄷㄷㄷ
– 주석에서 : – 메서드 이름에서 :StudentRecordData process(StudentRecordData srd){
public float getSum(){
return this.srd.getSum();
}
public float getAver(){
return this.srd.getAver();
}
필수 요구사항을 들어주자 !
• RecordPrinter– 이름에서 : 성적프린트하는 녀석
– 아 귀찮아
필수 요구사항을 들어주자 !
• 주어진 소스 외에 어떤걸 넣어야 하나여– 정작 키보드에서 입력받는 역할을 하는
클래스는 없어요 .• RecordWriter 클래스가 필요할 거 같아요 .
필수 요구사항을 들어주자 !
•상관관계를 그림으로 ㅎㅎ
RecordManagerMain
학생성적 1
StudentRecordData
학생성적 출력
RecordPrinter
학생성적 더하고 평균내기
RecordProcessor
학생성적 입력
RecordWriter
학생성적 3
StudentRecordData
학생성적 2
StudentRecordData
필수 요구사항을 들어주자 !
• 그림을 코드로– 숙달된 튜터의 시범이 있겠다 .
도하 시범을 보이고 있는 1,2,3번 독수리
자바 조교님이 좋아할 추가 구현사항
• 정렬– 선택정렬 , 삽입정렬 , 버블정렬– 알고리즘처럼 하면 됨– 정렬 클래스를 만들어서 해도되고 그냥
클래스에 메소드 하나 추가해도 되겠네요
설명서 작성 이렇게 하세여
•예전에 자바 좀 했다는 오빠의 설명서
오빠 자바 좀 했어
오빠 못 믿니 ?토끼가 알을 낳았다고 해도 믿어요 ~~
마지막으로…
• 열심히 하셔서 좋은 성적 거두세요 ~