객체지향프로그래밍 중간텀 울산대학교 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 번 독수리
자바 조교님이 좋아할 추가 구현사 항 정렬 – 선택정렬, 삽입정렬, 버블정렬 – 알고리즘처럼 하면 됨 – 정렬 클래스를 만들어서 해도되고 그냥 클래스에 메소드 하나 추가해도 되겠네요
설명서 작성 이렇게 하세여 예전에 자바 좀 했다는 오빠의 설명서 오빠 자바 좀 했어 오빠 못 믿니 ? 토끼가 알을 낳았다 고 해도 믿어요 ~~
마지막으로 … 열심히 하셔서 좋은 성적 거두세요 ~