20230302 JAVA 배열,

어제(배열)

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);
	
		// 업캐스팅을 하면 부모와 자식이 가지고 있는 공통기능을 쓸 수 있는데
		// 부모기능보다 더 나은 자식 기능이 있다면 오버라이딩한 기능을 쓴다
	
	}

}