제 4 장 클래스 작성 4-1 LAB.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
어서와 Java는 처음이지! 제3장선택과 반복.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
최윤정 Java 프로그래밍 클래스 상속 최윤정
7장 배열 ②.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
Java Presentation 중간 시험2 풀이
6장 객체-지향 설계 ①.
10장 예외 Lab 10-1.
제 4 장 클래스 작성 Lab 4- 2.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
[INA470] Java Programming Youn-Hee Han
8장 상속 ①.
7장 배열 ②.
Power Java 제10장 배열.
6장 객체-지향 설계 ②.
Lesson 5. 레퍼런스 데이터형.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ②.
Lesson 6. 형변환.
명품 Java Programming.
윤 홍 란 4 장 클래스 작성 윤 홍 란
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
5장 조건과 반복 ①.
인터페이스(Interfaces) 강원대학교.
7장 배열 ①.
Java 6장. 클래스 : 속성 public class SumTest {
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
제 4주 – 클래스 설계 제 4주 목표 클래스를 구현하는 법을 배운다. 변수 선언 메소드 구현 구성자 객체지향프로그래밍
6장 객체-지향 설계 ①.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
13. 연산자 오버로딩.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
5장 조건과 반복 ②.
6장 객체-지향 설계 ①.
어서와 Java는 처음이지! 제4장 배열 IT응용시스템공학과 김형진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
JA A V W. 04.
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
5장 조건과 반복 ①.
JA A V W. 06.
제 4 장 클래스 작성 Lab 4- 2.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
윤 홍 란 4 장 클래스 작성 윤 홍 란
자바 5.0 프로그래밍.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Chapter 4 클래스 작성.
Java 5장. 객체지향 개념 public class SumTest {
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
OOP Practices OOP presentation 6 작성자 Kimjinsik 소속 Mobile computing Lab
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
Presentation transcript:

제 4 장 클래스 작성 4-1 LAB

Contents Class 와 method 작성해보기 ① Class 와 method 작성해보기 ②

Class와 method 작성해보기 ① Account.java, ManageAccount.java // ************************************************************* // Account class는 예금, 출금, 명의변경, 수수료부과, // 계좌 정리 출력하는 method를 가지고 있다. public class Account { private double balance; private String name; private long acctNum; // --------------------------------------------------------- // Constructor - balance, owner, account number 초기화 public Account (double initBal, String owner, long number) balance = initBal; name = owner; acctNum = number; }

// ---------------------------------------------------------. // // --------------------------------------------------------- // 예금잔액을 통해 출금 가능 여부를 체크한다. // 예금잔액 > 인출금액 : 잔액에서 인출 금액을 차감 // 예금잔액 < 인출금액 : message 출력 // --------------------------------------------------------- public void withdraw (double amount) { if (balance >= amount) balance -= amount; else System.out.println ("Insufficient funds"); } // --------------------------------------------------------- // 입금시 예금 잔액 조정 // --------------------------------------------------------- public void deposit (double amount) { balance += amount; } // --------------------------------------------------------- // 예금잔액 반환 // --------------------------------------------------------- public double getBalance() { return balance; }

// ---------------------------------------------------------. // // --------------------------------------------------------- // string(name, account number, balance를 포함) 반환 // --------------------------------------------------------- public String toString() { } // --------------------------------------------------------- // 세금 부과 - 10$ public void chargeFee() { } // 계좌의 명의 변경 public void changeName (String newName)

// ************************************************************* // ManageAccount.java // // ManageAccount Class를 이용하여 Sally 와 Joe의 계좌를 // 생성하고 관리한다. public class ManageAccounts { public static void main(String[] args) Account acct1, acct2; // Sally의 $1000 계좌 생성. acct1 = new Account (1000, "Sally", 1111); // Joe의 $500 계좌 생성. // Joe의 계좌에 $100 예금하기. // Joe의 예금 잔액 출력하기.(get Balance() 사용) // Sally의 계좌에서 50$ 인출하기. // Sally의 예금 잔액 출력하기.(get Balance() 사용) // 두 계좌의 세금 부과하기. // Joe의 계좌에서 이름을 Joseph로 바꾸기. // 두 계좌의 내역을(입/출금, 세금) 출력하기. }

Class와 method 작성해보기 ① Cont. Account.java를 완성해보자. toString(), chargeFee(), changeName() 을 완성하라. chargeFee()를 수정하라. return 값을 void  new balance 로!! ManageAccount.java를 완성해보자. 주석의 설명을 따른다.

Class와 method 작성해보기 ① Cont. ManageAccount.java를 수정해보자. chargeFee를 call한 후, balance를 출력하도록!! 수정 전 deposit/withdraw 후 getBalance()에서 Balance return. 수정 후 deposit/withdraw 후 chargeFee()에서 Balance return!! 이 때, balance를 출력하는 방법에는 2가지가 있다. balance를 변수에 저장한 다음, 변수를 출력. chargeFee()에 출력문 포함.

Class와 method 작성해보기 ② Student.java, Grades.java // ************************************************************** // Student.java // // Student class that stores name, score on test 1, and // score on test 2. Methods prompt for and read in grades, // compute the average, and return a string containing student's info. import java.util.Scanner; public class Student { // instance data 선언 - 학생 이름, test 1 점수, test 2 점수 // ---------------------------------------------------------- // Constructor public Student (String studentName) // Constructor body 추가 }

// --------------------------------------------------------- // inputGrades : 학생의 test grade를 입력받음. public void inputGrades() { // inputGrades의 body 추가 } // ---------------------------------------------------------- // getAverage : 학생의 test average를 계산하고 반환. // getAverage의 header 추가 // getAverage의 body 추가 // getName : 학생이름을 출력. // getName의 header 추가 // getName의 body 추가

// ************************************************************* // Grades.java // // Student class를 이용하여 두 학생의 test grade와 average를 // 가져온다. public class Grades { public static void main(String[] args) Student student1 = new Student ("Mary"); // student2, "Mike"를 생성. // Mary의 grade를 입력받는다. // Mary의 average를 출력한다. System.out.println(); // Mike의 grade를 입력받는다. // Mike의 average를 출력한다. }

Class와 method 작성해보기 ② Cont. Student.java를 완성해보자. 주석의 설명을 따른다. 입력을 받기 위한 Scanner object를 생성해야 함. Grades.java를 완성해보자. average 출력 부분.  name과 average를 출력한다. 예) The Average for Joe is 87.

Class와 method 작성해보기 ② Cont. Grades.java를 수정해보자. 학생 변수의 값을 직접 출력해보자. 예) System.out.println (“Student 1 : “ + student1);  컴파일 후 결과를 살펴보자. Student.java를 수정해보자. toString()을 추가한다. System.out.println을 사용하지 않는다. return 값 : String (학생 이름과 점수) 예) Name : Joe Test1 : 85 Test2 : 91 주의 : Grades.java는 수정하지 않는다. toString()을 명시적으로 호출하지 않는다.

Class와 method 작성해보기 ③ BandBooster class를 작성해보자. Constructor parameter : 후원자 이름 (String) boxesSold = 0 으로 set. Data 선언 – instance data name (String) boxesSold (Integer) Method 선언 getName() : 후원자 이름을 return. parameter 없음. updateSales() : parameter 1개. – 추가 판매한 box 개수 toString() : String을 return. – 후원자 이름, 판매한 box 개수 예) Joe : 16 boxes.

Class와 method 작성해보기 ③ Cont. bandbooster 객체를 이용하여 2명의 후원자의 3주간 판매 실적을 알아보는 class를 작성하여라. 후원자 2명의 이름을 입력 받고, 각각의 객체를 구성. 각 후원자가 각 주에 판매한 박스 개수를 입력 받는다. 예) “Enter the number of boxes sold by Joe this week: “  각 후원자당 판매한 박스 개수를 3번 입력 받음. updateSales()를 이용하여 update한다. 후원자의 이름과 총 판매량을 출력한다. - toString()을 사용한다.

Class와 method 작성해보기 ④ Name class를 작성해보자. Constructor Method public Name(String first, String middle, String last) 주의 : 대/소문자로 바꾸지 말고, 있는 그대로 사용할 것!! Method public String getFirst : return first name public String getMiddle : return middle name public String getLast : return last name public String firstMiddleLast() : return full name 예 ) “ Mary Jane Smith”

Class와 method 작성해보기 ④ Cont. public String LastfirstMiddle() : return full name 예) “ Smith, Mary Jane” public boolean equals() return true : 다름 사람의 이름과 비교해서 같을 때. 힌트 : String method - equalsIgnoreCase() 사용!  equals()와 비슷하나 대소문자 구분 하지 않음. public String initials() : return initials. - 각 부분의 첫 번째 글자, 모두 대문자. 힌트 : charAt 대신 substring을 사용하라. public int length() : return total number of char. - full name의 총 문자 수, space 포함하지 않음!

Class와 method 작성해보기 ④ Cont. TestNames.java를 작성해보자. 두 사람의 이름을 입력 받는다. First, middle, last name을 각각 입력 받는다. 두 사람 각각에 대해 객체를 생성한다. Name class의 method를 사용한다. 각 이름에 대해 아래 사항을 출력한다. first – middle – last version last – first – middle version initials length comparison result : same or different