오늘은 클래스를 배웠다. 근데... 어렵다 ㅠ.ㅠ
다음주에 중간고사 시험에서 풀 수 있어야 될텐데 일주일동안 열심히 이해해보도록 해야겠다.
객체는 데이터와 메소드로 구성되어 있다고 한다. 그림을 보니까 이해는 되지만 아직은 모르겠다;;;
일단, 오늘은 "생성자는 메소의 한 종류이다"와 "생성자에서 반환형은 쓰지 않는다"라도 외워야겠다.
[행운의 번호 - Thread.sleep() 메소드를 사용하여 설정한 값만큼의 대기 시간을 가질 수 있다는 것을 알게되었다.(기본 단위는 ms이다)]
----------------------------------------------
import java.util.*;
class Luck{
public static void main(String a[]) {
Random r = new Random();
int select = 0;
for(int i=0; i<100; i++){
select = 8;
while(select==8){
select = r.nextInt(10) + 1;
}
try{Thread.sleep(1000);}
catch(InterruptedException e){}
System.out.println(select);
}
System.out.println("행운의 번호는 : " + select);
}
}
[출력 결과]

-- (중간 생략) --

----------------------------------------------
[첫번째 실습 - 클래스를 생성하여 멤버변수, 생성자, 메소드에 대해서 기본적인 작동을 알아보았다.]
----------------------------------------------
public class Ex01 {
public static void main(String args[]) {
System.out.println("new 연산자를 사용해 객체를 생성합니다.");
ClassExam obj = new ClassExam();
obj.method();
}
}
class ClassExam {
private String memberVar; //멤버변수 선언
public ClassExam() { //생성자
System.out.println("생성자는 객체가 생성될때 제일먼저 호출됩니다.");
System.out.println("memberVar의 값을 \"멤버변수\"로 초기화 합니다.");
memberVar = "멤버변수";
}
public void method() { //메소드
System.out.println(memberVar);
return;
}
}
[출력 결과]

----------------------------------------------
[두번째 실습 - 현재시각을 보여주는 Date()객체를 사용하였다.]
----------------------------------------------
//java.util.Date라고 import 시켰기 때문에 붉은 부분은 타이핑해주지 않아도 된다.
import java.util.Date;
public class Ex02 {
public static void main(String args[]) {
System.out.println(new java.util.Date());
System.out.println(new java.util.Date().toString());
System.out.println(new java.util.Date().getTime());
}
}
[출력 결과]

----------------------------------------------
[세번째 실습 - Thread.sleep()을 사용하기 전의 시각과 후의 시각 차이를 출력하였다.]
----------------------------------------------
import java.util.*;
class Ex03 {
public static void main(String args[]) {
Date date = new Date(); //객체를 선언하고 생성
long start = date.getTime(); //시작한 시각을 저장
try{Thread.sleep(1000); //1초간 대기
}catch(InterruptedException e) {}
date = new Date(); //객체를 생성
long stop = date.getTime(); //마칠때의 시각을 저장
System.out.println(stop - start); //마칠때의 시각에서 시작한 시각의 차이
}
}
[출력 결과]

----------------------------------------------
[네번째 실습 - DateGame 클래스를 생성하여 멤버변수, 생성자, 메소드를 사용함으로써 키보드 입력전 시각과 입력 후의 시각차이를 계산하였다.]
----------------------------------------------
import java.util.*;
import java.io.*;
public class Ex05 {
public static void main(String args[]) {
DateGame dg = new DateGame();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
br.readLine();
}
catch(IOException e) {}
System.out.println(dg.stop() + "초");
}
}
class DateGame {
private long start, stop; //멤버변수
public DateGame() { //생성자
start = new Date().getTime();
}
public float stop() { //메소드
stop = new Date().getTime();
return (float)(stop-start)/1000.0f;
}
}
[출력 결과]

----------------------------------------------
[다섯번째 실습 - 메소드를 사용하여 책 제목과 저자를 입/출력]
----------------------------------------------
class Book {
private String title, author; //멤버변수
public void setDate(String t, String a) { //setDate() 메소드
title = t;
author = a;
return;
}
public void getDate() { //getDate() 메소드
System.out.println("책 제목 : " + title);
System.out.println("저 자 : " + author);
return;
}
}
public class Ex07 { //Bookshelf
public static void main(String args[]) {
Book b1 = new Book(); //객체 생성 및 선언
Book b2 = new Book(); //객체 생성 및 선언
b1.setDate("자바정복","홍길동");
b2.setDate("영어의정복","제임스");
b1.getDate();
b2.getDate();
}
}
[출력 결과]

----------------------------------------------
[여섯번째 실습 - 생성자를 사용하여 책 제목과 저자를 입/출력]
----------------------------------------------
class Book {
private String title, author;
public Book(String t, String a) { //생성자
title = t;
author = a;
}
public void printDate() { //메소드
System.out.println("책 제목 : " + title);
System.out.println("저 자 : " + author);
return;
}
public String getDate() {
return "책 제목 : " + title + ", 저 자 : " + author;
}
}
public class Ex09 { //Bookshelf
public static void main(String args[]) {
Book b1 = new Book("자바정복","홍길동"); //객체가 생성되면서 생성자 호출
Book b2 = new Book("영어의정복","제임스"); //객체가 생성되면서 생성자 호출
b1.printDate();
b2.printDate();
System.out.println("=================");
System.out.println(b1.getDate());
System.out.println(b2.getDate());
}
}
[출력 결과]

----------------------------------------------
이 글과 관련있는 글을 자동검색한 결과입니다 [?]