상세 컨텐츠

본문 제목

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

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

by 매일매일 배우는 개발자 2021. 4. 7. 19:24

본문

728x90

수강한 클립명

템플릿 메서드 활용하기

코딩해 보세요

인터페이스란

인터페이스를 활용한 다형성 구현 - 1

인터페이스를 활용한 다형성 구현 - 2

 

 

https://coupa.ng/bVt3a9

 

피피픽 덴탈브레드 미니 소형견 덴탈껌 195g

COUPANG

www.coupang.com

 

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


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

 

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

 

미션 일정

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

방법

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

 

 

 


템플릿 메서드 활용하기

 



Player가 있고 이 Player가 게임을 합니다. 게임에서 Player가 가지는 레벨에 따라 run(),jump().turn() 세가지 기능을 할 수 있습니다.
각 레벨에 따라 기능가능 여부가 다음과 같습니다.

초보자 레벨 : 천천히 달립니다. (run() 가능)
중급자 레벨 : 빠르게 달리고 (run()가능), 점프(jump()가능) 할 수 있습니다.
고급자 레벨 : 빠르게 달리고 (run()가능), 점프(jump()가능) 하고 한 바퀴 돌 수 있습니다 (turn() 가능)

플레이어는 go() 명령어를 받으면 이 세가지 기능을 수행합니다.
이중 할 수 없는 것은 할 수 없다는 메시지를 보냅니다.

    

코딩해 보세요(8장)

자동차 주행 과정 구현하기

 



Car 추상 클래스를 상속받은 Sonata, Avante, Grandeur, Genesis 클래스가 있습니다.
각 차는 주행하기 위해 다음 메서드의 순서로 움직입니다.

run()메서드를 템플릿 메서드로 구현하고 CarTest 클래스를 참고하여 프로그램을 완성하세요

 

 

나의 답

 

 

인터페이스란


인터페이스 사용요소
- 추상메서드
- 상수
- 디폴트 메서드
- 정적 메서드
- private 메서드

구현방법

public interface Calc{
double PI = 3.14;
int ERROR = -99999999;

int add (int num1, int num2);
int substract (int num1, int num2);
int times (int num1, int num2);
int divide (int num1, int num2);
}
> 인터페이스에서 선언한 변수는 컴파일 과정에서 상수로 변환됨
> 인터페이스에서 선언한 메서드는 컴파일 과정에서 추상메서드로 변환됨

 



-- 


타입 상속과 형 변환

Calc calc = new CompleteCalc();

인터페이스를 구현한 클래스는 인터페이스 타입으로 변수를 선언하여 인스턴스를 생성 할 수 있음

인터페이스는 구현 코드가 없기 때문에 타입 상속이라고도 함

 

인터페이스를 활용한 다형성 구현 - 1

> 주로 설계할때 사용함 (중요)

인터페이스의 역할은?
> 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 알려주는
   명세(specification) 또는 약속 (이렇게 구현을 해라!! 이런느낌임)
> 한 객체가 어떤 인터페이스의 타입이라 함은 그 인터페이스의 메서드를 구현했다는 의미
> 클라이언트 프로그램은 실제 구현내용을 몰라도 인터페이스의 정의만 알면 그 객체를 사용할 수 있음

인터페이스를 구현해 놓은 다양한 객체를 사용함 - 다형성
:JDBC를 구현한 오라클, MSSQL 라이브러리등

>>추상 클래스랑 인터페이스랑 차이점??
추상 클래스는 공통되는 모듈이 있을수도 있고 없을수도 있다. 또한 클래스이기떄문에 하나만 상속을 받는다.
but, 인터페이스는 순수하게 명세만 되어있다. 그래서 여러개를 상속받을 수 있다.

 

 

인터페이스를 활용한 다형성 구현 - 2

 


인터페이스와 다형성 구현하기

고객 센터에는 전화 상담을 하는 상담원들이 있습니다. 일단 고객 센터로 전화가 오면 대기열에 저장됩니다.
상담원이 지정되기 전까지 대기 상태가 됩니다. 각 전화가 상담원에게 배분되는 정책은 다음과 같이 여러 방식으로 구현될 수 있습니다.

- 상담원 순서대로 배분하기
- 대기가 짧은 상담원 먼저 배분하기
- 우선순위가 높은(숙련도가 높은) 상담원에게 먼저 배분하기

위와 같은 다양한 정책이 사용되는 경우 interface를 정의하고 다양한 정책을 구현하여 실행하세요

 


(사진참조)

>>>인터페이스의 역할은 모듈이 해야하는 일을 명세해 놓은것이다!!.

--


인터페이스와 strategy pattern

인터페이스를 활용하면 다양한 정책이나 알고리즘을 프로그램의 큰 수정없이 적용,확장할 수 있음

 

 


https://bit.ly/2YynTUa

 

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

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

fastcampus.co.kr

 

728x90

관련글 더보기