02 객체지향 프로그래밍
100%
또 다른 객체 만들기
실습 내용
또 다른 객체 만들기
여러 객체 생성?
하나의 잘 설계된 클래스로, 여러 개의 객체를 만들 수 있다. 이는 마치, 붕어빵틀로 여러개의 붕어빵을 만드는 것과 같다.
두 객체 생성 예
아래는 Bicycle 클래스를 통해 두 객체를 생성하는 예다.
// 자전거 객체를 만들고, b1 변수에 대입
Bicycle b1 = new Bicycle();
// 자전거 객체 b2 생성
Bicycle b2 = new Bicycle();
생성된 객체는 변수를 통해 접근할 수 있습니다. 여기에 닷 연산자(.)를 추가하면 해당 객체의 필드에 접근할 수 있다.
// 자전거 객체 b2의 필드값 초기화
b2.name = "전기 자전거";
b2.weight = 25.34;
b2.price = 799000;
문제
주어진 코드는 Bicycle 객체 b1을 생성하고 그 정보를 출력하는 코드이다. 해당 코드를 수정하여, 출력 예와 같은 결과를 얻으시오.
출력 예
b1->{로드형 자전거, 7.25, 326000}
b2->{산악형 자전거, 10.68, 429000}
/* 메인 클래스 */
public class BicycleTest {
public static void main(String[] args) {
// 자전거 객체 생성
Bicycle b1 = new Bicycle();
// 객체 필드값 초기화
b1.name = "로드형 자전거";
b1.weight = 7.25;
b1.price = 326000;
// 객체 정보 출력
System.out.printf("b1->{%s, %.2f, %d}\n", b1.name, b1.weight, b1.price);
/* 1. 새 자전거 객체 b2를 생성하시오. */
/* 2. b2 객체의 필드를 초기화하시오. */
/* 3. b2 객체 정보를 출력하시오. */
}
}
/* 자전거 클래스 */
class Bicycle {
/* 필드 */
String name; // 이름
double weight; // 무게
int price; // 가격
/* 메소드 */
void move() {
System.out.println("자전거를 타고 이동합니다.");
}
void horn() {
System.out.println("따르르릉! 지나갈게요~");
}
}
풀이
BicycleTest 라는 메인 클래스와 Bicycle 클래스 두개의 클래스가 존재한다. 이때 문제풀이를 위해
b2라는 새로운 객체를 생성 해야 한다. -> 해당객체의 필드를 초기화 한다. ->출력 한다.
/* 메인 클래스 */
public class BicycleTest {
public static void main(String[] args) {
// 자전거 객체 생성
Bicycle b1 = new Bicycle();
// 객체 필드값 초기화
b1.name = "로드형 자전거";
b1.weight = 7.25;
b1.price = 326000;
// 객체 정보 출력
System.out.printf("b1->{%s, %.2f, %d}\n", b1.name, b1.weight, b1.price);
/* 1. 새 자전거 객체 b2를 생성하시오. */
Bicycle b2 = new Bicycle();
/* 2. b2 객체의 필드를 초기화하시오. */
b2.name = "산악형 자전거";
b2.weight = 10.68;
b2.price = 799000;
/* 3. b2 객체 정보를 출력하시오. */
System.out.println("b2->{" + b2.name + ", " + b2.weight + ", " + b2.price + '}'); //또는
System.out.printf("b2->{%s, %.2f, %d}\n", b2.name, b2.weight, b2.price);
}
}
/* 자전거 클래스 */
class Bicycle {
/* 필드 */
String name; // 이름
double weight; // 무게
int price; // 가격
/* 메소드 */
void move() {
System.out.println("자전거를 타고 이동합니다.");
}
void horn() {
System.out.println("따르르릉! 지나갈게요~");
}
}
구름에듀-그림으로 배우는 자바
'Java' 카테고리의 다른 글
[Java] 문자열 변수 (0) | 2022.02.16 |
---|---|
[Java] 인스턴스 메소드 호출 (0) | 2022.02.16 |
[Java]객체 생성과 필드 값 변경 (0) | 2022.02.14 |
[Java]클래스 구현하기 (0) | 2022.02.14 |
[Java]클래스와 객체 (0) | 2022.02.14 |