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