상세 컨텐츠

본문 제목

[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 14회차 미션 - 자바인강

Fast Campus[패스트캠퍼스 후강후기]

by 매일매일 배우는 개발자 2021. 4. 2. 10:30

본문

728x90

수강한 클립명

다운 캐스팅과 instanceof

코딩해 보세요

추상클래스란

추상클래스 응용 - 템플릿 메서드

 

 

https://coupa.ng/bUV1uN

 

사조 살코기참치 85g x 10p + 고추참치100g x 2p

COUPANG

www.coupang.com

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.

 

완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.

 

미션 일정

  • 미션 기간 : 2/15 (월) ~ 5/15(토)

방법

  • 3클립 이상의 강의영상 수강하기
  • 수강 인증샷과 함께 1000자 이상의 학습 기록을 블로그에 작성하기
  • 미션 페이지에 미션 기록하기

 

 

 


다운 캐스팅과 instanceof

 


- 형변환이 된 상태에서 자신의 상태로 다시 돌아가는것

하위 클래스로 형 변환, 다운캐스팅

묵시적으로 상위 클래스 형변환된 인스턴스가 원래 자료형(하위클래스)으로 변환되어야 할 때 다운캐스팅이라 함.

하위 클래스로의 형 변환은 "명시적"을 되어야 함

Customer vc = new VIPCustomer(); //묵시적
VIPCustomer vCustomer = (VIPCustomer)vc; //명시적

--

instanceof 가 하는일?
앞의 객체가 뒤의 객체타입인가 알아본다. 맞으면 true 틀리면 false를 반환한다. (instanceof 는 true or false를 반환한다.)


코딩해 보세요 - 7장

 



일반 고객와 VIP 고객의 중간 등급 만들기
고객이 늘어 VIP 고객만큼 물건을 많이 구입하지 않지만, 단골인 분들을 GOLD등급으로 관리하고 싶습니다.
혜택은 다음과 같습니다.

- 제품을 살때는 항상 10%를 할인해 줍니다.
- 보너스 포인트는 2%를 적립해 줍니다.
- 담당 전문 상담원은 없습니다.

Customer 클래스에서 상속을 받아 GoldCustomer를 구현해 보세요.

--

배열을 활용하여 구현하기
고객은 현재 5명 입니다. VIP1명, GOLD 2명, SILVER 2명 일때, 각 고객이 10000원 짜리 제품을 구매한 경우
지불한 금액과 적립된 보너스 포인트를 출력해 보세요

ArrayList를 활용하여 구현해 봅시다.

 

추상클래스란

 

 

추상 메서드를 포함한 클래스
추상 메서드
- 구현 코드가 없이 선언부만 있는 메서드

abstract 예약어 사용
추상 클래스는 new (인스턴스화) 할 수 없음
cf) concrete class

추상메서드는 하위클래스에서 구현이 된다. (단독으로 사용할려고 만드는 클래스가 아니라 하위클래스에서 사용할려고 만드는 것이 추상클래스이다)

- 메서드와 클래스에 abstract키워드 사용
추상 메서드가 포함된 클래스는 추상 클래스로 선언

모든 메서드가 구현되었다고 해도 클래스에 abstract 키워드를 사용하면 추상 클래스

* 추상메서드는 주로 이탤릭체로 표현한다

-- 

추상 클래스 사용하기
추상 클래스는 주로 상속의 상위클래스로 사용됨
추상 메서드 : 하위 클래스가 구현해야 하는 메서드 ("하위클래스에 구현의 책임을 위임한다" << 이런식으로 표현함)
구현된 메서드 : 하위 클래스가 공통으로  사용하는 기능의 메서드
하위 클래스에 따라 재정의 할 수 있음

 

추상클래스 응용 - 템플릿 메서드

 



템플릿 메서드

템플릿 : 틀이나 견본을 의미

템플릿 메서드 : 추상 메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)를 정의 해 놓은 메서드 (로직을 정의해 놓은 메서드)
final로 선언하여 재정의 할 수 없게 함

템플릿 메서드 패턴 : 
디자인 패턴의 일종
프레임 워크에서 많이 사용되는  설계 패턴
추상 클래스로 선언된 상의 클래스에서 추상 메서드를 이용하여 전체 구현의 흐름을 정의하고
구체적인 각 메서드 구현은 하위 클래스에 위임함
하위 클래스가 다른 구현을 했다고 해서 템플릿 메서드에 정의된 시나리오 대로 수행됨


--
final 예약어

final 변수는 값이 변경될 수 없는 상수임
public static final double PI = 3.14;
오직 한 번만 값을 할 당할 수 있음

final 메서드는 하위 클래스에서 재정의 (overriding)할 수 없음
* final 키워드가 붙어있는 메서드는 하위클래스에서 재정의 하면 안된다.

final 클래스는 더 이상 상속되지 않음 ex) java의 String 클래스

--

public static final 상수 값 정의 하여 사용하기

프로젝트 구현 시 여러 파일에서 공유해야 하는 상수 값은 하나의 파일에 선언하여 사용하면 편리 함 (인스턴스를 따로 부를필요도 없고 메모리를 적게 잡아먹음)


사진 참조 필!!!!

 

    


https://bit.ly/2YynTUa

 

한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online. | 패스트캠퍼스

Java/Spring 웹 개발, 핵심 25가지 스킬부터 공부하세요. 대기업 출신 7인의 강사진이 모여 만든 Java/Spring 웹 개발 완전체 커리큘럼! 핵심 스킬 25가지 강의부터 250개의 예제, 7개의 프로젝트까지! 비

www.fastcampus.co.kr

 

728x90

관련글 더보기