본문 바로가기

개발/Java64

[3주차] Java 중급 - 상속에서 클래스 생성 과정과 형 변환 하위 클래스가 생성되는 과정 하위 클래스를 생성하면 상위 클래스가 먼저 생성됨 new VIPCustomer()를 호출하면 Customer() 가 먼저 호출됨 (상위 클래스가 먼저 호출됨) 클래스가 상속 받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출함 Customer.java public Customer() { // 생성자 (일반 고객) customerGrade = "SILVER"; bonusRatio = 0.01; System.out.println("Customer() 생성자 호출"); // 생성자 안에 작성 } VIPCustomer.java public VIPCustomer() { customerGrade = "VIP"; // 오류 발생 상속받은 Customer에서 custo.. 2023. 6. 24.
[3주차] Java 중급 - 상속을 활용한 멤버십 클래스 구현하기 멤버십 시나리오 회사에서 고객 정보를 활용한 맞춤 서비스를 하기 위해 일반 고객(Customer)과 이보다 충성도가 높은 우수 고객(VIPCustomer)에 따른 서비스를 제공하고자 함 물품을 구매할 때 적용되는 할인율과 적립되는 보너스 포인트의 비율이 다름 여러 멤버십에 대한 각각 다양한 서비스를 제공할 수 있음 멤버십에 대한 구현을 클래스 상속을 활용하여 구현해보기 일반 고객(Customer) 클래스 구현 고객의 속성 : 고객 아이디, 고객 이름, 고객 등급, 보너스 포인트, 보너스 포인트 적립비율 일반 고객의 경우 물품 구매 시 1%의 보너스 포인트 적립 package ch03; public class Customer { private int customerID; //고객의 아이디는 중요 정보이기 .. 2023. 6. 24.
[3주차] Java 중급 - 객체 간의 상속은 어떤 의미일까 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass // 상속의 문법 -> 자바는 단일 상속 (single inheritance) 만을 지원함 class B extends A { // extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 } 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념과 기능을 .. 2023. 6. 24.
[1주차] Java 중급 - 복습해봅시다(static과 싱글톤 패턴) 설명에 따른 객체를 구현하여 테스트 코드가 실행되도록 구현하기 자동차 공장이 있습니다. 자동차 공장은 유일한 객체이고, 이 공장에서 생산되는 자동차는 제작될 때마다 고유의 번호가 부여됩니다. 자동차 번호가 10001부터 시작되어 자동차가 생산될 때마다 10002, 10003 이렇게 번호가 붙도록 자동차 공장 클래스, 자동차 클래스를 구현하세요. 다음 CarFactoryTest.java 테스트 코드가 수행 되도록 합니다. 객체 → 자동차 공장 public class CarFactoryTest { public static void main(String[] args) { CarFactory factory = CarFactory.getInstance(); // static의 CarFactory의 instance.. 2023. 6. 24.