JAVA/Java 기초

객체배열

 

객체 배열 : 객체에 대한 레퍼런스를 원소로 갖는 배열

Book b[];    // Book 배열에 대한 레퍼런스 변수 b 선언
b = new Book[5];    //레퍼런스 배열 생성

 

  • 값을 입력받아 객체배열에 담아 출력하기
class Song {
	String singer;
	String title;
	
	Song(String singer, String title){
		this.singer = singer;
		this.title = title;
	}
}

public class Array05 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		Song so[] = new Song[2];	//객체배열 생성
		
		//가수랑 제목 입력받기
		for (int i = 0; i < so.length; i++) {
			System.out.println("가수: ");
			String singer = s.next();
			System.out.println("제목: ");
			String title = s.next();
			
			so[i] = new Song(singer, title);	//객체 생성
		}
		for (int i = 0; i < so.length; i++) {
			System.out.println(so[i].singer+", "+so[i].title);
		}
	}
}
abstract class Circle {
	protected double r;
	
	Circle(double r){
		this.r = r;
	}
	
	abstract double get();
}

class Cir extends Circle {
	Cir(double r){
		super(r);
	}
	
	double get() {
		return r;
	}
}

public class AbstEx03 {
	public static void main(String[] args) {

		//객체배열
		Circle c[] = new Circle[5];
		
		Scanner sc = new Scanner(System.in);
		for(int i=0; i<c.length; i++) {
			double r = sc.nextDouble();	//반지름 입력받음
			c[i] = new Cir(r);	//객체 생성, 업캐스팅

			System.out.println(c[i].get());
			//2.3 5.7 12.3 51.0 21.1
		}
	}
}
class Arr {
	static int[] con(int[] a, int[] b) {
		int []arr = new int[a.length + b.length];	//8

		for(int i=0; i<a.length; i++) {
			arr[i] = a[i];	//a배열을 arr배열에 담는다.	//1234
			for(int j=a.length; j<a.length+b.length; j++) {	//j=4,5,6,7
				arr[j] = b[j - a.length];
			}
		}
		return arr;
	}
	
	static void pr(int[] a) {
		//배열 출력은 for문!
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
	}
}

public class AbstEx04 {
	public static void main(String[] args) {
		
		int ary1[] = {1,2,3,4}; 
		int ary2[] = {5,6,7,8};
		
		int ary3[] = Arr.con(ary1, ary2);
		Arr.pr(ary3);
	}
}

 

 

 

728x90
728x90

'JAVA > Java 기초' 카테고리의 다른 글

instanceof 연산자  (0) 2022.05.24
다형성 (polymorphism)  (0) 2022.05.24
오버로딩과 오버라이딩  (0) 2022.05.23
상속 - inheritance  (0) 2022.05.23
this  (0) 2022.05.23