어제(배열)
package javastudy;
public class ArrayMain {
public static void main(String() args) {
/*
// 숫자형 배열
int() a; // 배열 선언
a = new int(10); // 배열 생성
// System.out.println(a);
// for(int i = 0; i<10; i++) {
// a(i) = i+1;
a(0) = 1;
a(1) = 2;
a(2) = 3;
a(3) = 4;
a(4) = 5;
a(5) = 6;
a(6) = 7;
a(7) = 8;
a(8) = 9;
a(9) = 10;
int() aa = new int() {1,2,3,4,5,6,7,8,9,10}; // 초기화
int() aaa= {1,2,3,4,5,6,7,8,9,10};
int sum = 0;
for(int i = 0; i<10; i++) { // = for(int i =0; i<aaa.length; i++)
sum = sum + aaa(i);
// System.out.println(aaa(i));
}
System.out.println("배열의 합은? "+ sum);
*/
Book() library = new Book(3);
library(0) = new Book("태백산맥","조정래");
library(1) = new Book("데미안","헤르만헤세");
library(2) = new Book("토지","박경리");
// 첫 번째 Book객체의 책 이름을 알려주세요.
String bn = library(0).getBookName();
System.out.println("책 이름은? "+ bn);
// 배열에 담겨있는 모든 책의 저자를 출력해주세요. (반복문)
for(int i = 0; i<library.length; i++) {
String name = library(i).getAutor();
System.out.println((i+1) + "번째 저자는" + name);
}
// 객체배열 반복문을 사용할 때 향상된 for문
for(Book bk : library) {
System.out.println(bk.getAutor());
}
}
}
package javastudy;
public class Book {
private String bookName;
private String author;
public Book() {}
public Book(String bookName, String author) {
this.bookName = bookName;
this.author = author;
}
public String getBookName() {
return bookName;
}
public String getAutor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public void showBookInfo() {
System.out.println(bookName + "," + author);
}
}
package javastudy;
public class ArrayMain {
public static void main(String() args) {
Book() library = new Book(3);
library(0) = new Book("태백산맥","조정래");
library(1) = new Book("데미안","헤르만헤세");
library(2) = new Book("토지","박경리");
// 첫 번째 Book객체의 책 이름을 알려주세요.
String bn = library(0).getBookName();
System.out.println("책 이름은? "+ bn);
// 배열에 담겨있는 모든 책의 저자를 출력해주세요. (반복문)
for(int i = 0; i<library.length; i++) {
String name = library(i).getAutor();
System.out.println((i+1) + "번째 저자는" + name);
}
// 객체배열 반복문을 사용할 때 향상된 for문
for(Book bk : library) {
System.out.println(bk.getAutor());
}
}
}
준비 목록
package javaStudy;
import java.util.ArrayList;
public class ArraylistTest {
public static void main(String() args) {
// 무한배열클래스 선언
ArrayList <Book> alist ;
// 무한배열클래스를 생성해서 대입
alist = new ArrayList <Book>(); //배열의 특성을 가지고 있어서 빠르다
Book book = new Book("태백산맥","조정래");
Book book2 = new Book("토리","박경래");
Book book3 = new Book("어린왕자","생텍쥐페리");
Book book4 = new Book("데미안","헤르만헤세");
alist.add(book);
alist.add(book2);
alist.add(book3);
alist.add(book4);
// System.out.println(alist.get(0).getBookName()); //ArrayList 객체 안에 첫번째 Book객체 안의 이름
for(Book bk: alist) {
System.out.println(bk.getBookName());
}
}
}
다형성
package javaStudy;
public class Car {
private int wheel;
public Car(int a) {
this.wheel = a;
}
public int getWheel() {
return wheel;
}
public void move() {
System.out.println(wheel+"개의 바퀴를 가진 자동차가 달린다");
}
}
package javaStudy;
public class MotorCycle extends Car{
public MotorCycle(int a) {
super(a);
}
@Override //오버라이딩
public void move() {
System.out.println(super.getWheel() + "개의 바퀴 오토바이가 달린다.
");
}
public void move(int a) { //메소드 오버로딩
System.out.println(a +"속도로 달린다");
}
}
package javaStudy;
public class Avante extends Car{
public Avante(int a) {
super(a); //상위생성자를 호출(매개변수가 있어요)
}
@Override //재정의
public void move() {
System.out.println(super.getWheel()+"개의 바퀴를 가진 자동차가 달린다!
!
!
");
}
}
package javaStudy;
public class PolyMain {
public static void main(String() args) {
//업캐스팅
Car car =new Avante(4); //자식객체가 부모타입으로 변환
car.move();
Car car2 = new MotorCycle(2);
car2.move();
MotorCycle car3 = new MotorCycle(90);
car3.move(90);
// 업캐스팅을 하면 부모와 자식이 가지고 있는 공통기능을 쓸 수 있는데
// 부모기능보다 더 나은 자식 기능이 있다면 오버라이딩한 기능을 쓴다
}
}