본문 바로가기
반응형

자바공부19

[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 47회차 미션 오늘은 추상클래스에 대해 공부해보았다. 추상클래스는 추상메서드를 포함한 클래스이다. 추상메서드는 구현코드가 없이 선언부만 있는 메서드를 말한다. 이때 abstract 예약어를 사용하며 추상클래스는 new(인스턴스화)할 수 없다. 추상클래스의 구현은 아래와 같다. 메서드와 클래스에 abstract 키워드를 사용하며 추상메서드가 포함된 클래스는 추상클래스로 선언하여야 한다. 모든 메서드가 구현되었다고 해도 클래스에 abstract를 사용하면 추상클래스이다. 추상클래스는 주로 상속의 상위클래스로 사용된다. 추상메서드는 하위 클래스가 구현해야 하는 메서드이다, 템플릿 메서드는 추상메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)을 정의해놓은 메서드이다. final로 선언하여 재정의 할 수 없게 한다. 템.. 2020. 9. 25.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 42회차 미션 오늘은 자바 객체지향 프로그래밍 강의 중 배열 관련 강의를 복습할 겸 들어보았다. 배열 출처: www.opentutorials.org/module/516/5373 배열 배열(Array)은 연관된 정보를 그룹핑 하는데 사용한다. 이해를 돕기 위해서 비유를 들어보겠다. (비유는 이해를 돕기 위한 것일 뿐이다. 비유가 오히려 이해에 방해될 수 있다. 비유가 도움되지 않는다면 뒤에서 언급될 기술적인 설명을 보자.) https://youtu.be/pegfdsD1IY4 상수의 사용 변수에 상수를 대입하는 것과 변수에 배열을 대입하는 것의 차이를 학급의 예를 들어서 생각해보자. 1반에는 50명의 학생이 있다. 각각의 학생들은 각자의 이름이 있다. 이것을 상수라고 치자. 반장과 부반장을 뽑았다. 그럼 아래와 같이 될 .. 2020. 9. 20.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 36회차 미션 오늘은 24, 25강을 수강해보았다. Controller Test 마무리와 Repository Test 부분이었다. 테스트의 중요성을 알게해주는 강의였다. *BirthdaySerializer package com.fastcampus.javaallinone.project3.mycontact.configuration.serializer; import com.fastcampus.javaallinone.project3.mycontact.domain.dto.Birthday; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.dat.. 2020. 9. 14.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 33회차 미션 오늘은 18~19강 @PutMapping @DeleteMapping 에 대해 공부해보았다. 18강에서 공부한 내용은 아래와 같다. 수정하는 메서드에 변수가 없으면 null로 셋팅되기 때문에 원하지 않는 결과를 얻을 수 있어 주의해야 한다. 19강에서 학습한 내용은 아래와 같다. *PersonController.java package com.fastcampus.javaallinone.project3.mycontact.controller; import com.fastcampus.javaallinone.project3.mycontact.controller.dto.PersonDto; import com.fastcampus.javaallinone.project3.mycontact.domain.Person; imp.. 2020. 9. 11.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 28회차 미션 오늘은 8강 9강을 수강해보았다. Lombok에 관련된 강의였다. *Person.java package com.fastcampus.javaallinone.project3.mycontact.domain; import lombok.*; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.time.LocalDate; @Entity @NoArgsConstructor @AllArgsConstructor @RequiredArgsConstructor @Data public class Person { @Id @GeneratedValue private Long id; .. 2020. 9. 6.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 25회차 미션 오늘은 Mock Object (모의객체, 가짜객체)에 대해 공부해보았다. 모의 객체 모의 객체(Mock Object)란 주로 객체 지향 프로그래밍으로 개발한 프로그램을 테스트 할 경우 테스트를 수행할 모듈과 연결되는 외부의 다른 서비스나 모듈들을 실제 사용하는 모듈을 사용하지 않고 실제의 모듈을 "흉내"내는 "가짜" 모듈을 작성하여 테스트의 효용성을 높이는데 사용하는 객체이다. 사용자 인터페이스(UI)나 데이터베이스 테스트 등과 같이 자동화된 테스트를 수행하기 어려운 때 널리 사용된다. 유용성 모의 객체를 이용한 테스트는 다음과 같은 상황을 테스트 하는데 유용하게 사용된다. 사용자 인터페이스(UI) 테스트 : 사용자의 반응이 필요한 테스트를 수행할 경우 사용자가 테스트에 참여해야 하기 때문에 자동화된 테.. 2020. 9. 3.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 22회차 미션 오늘은 스프링 부트 프로젝트 5강부터 들어보았다. 5강. Test Driven Development 이 프로젝트는 TDD의 방법으로 진행될 것이라고 한다. TDD란? 테스트 주도 개발(Test-driven development TDD)은 매우 짧은 개발 사이클을 반복하는소프트웨어 개발 프로세스중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록리팩토링한다. 이 기법을 개발했거나 '재발견' 한 것으로 인정되는Kent Beck은 2003년에 TDD가 단순한 설계를 장려하고 자신감을 불어넣어준다고 말하였다. 출처: 위키백과 Red, Green, Refactoring 의.. 2020. 8. 31.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 21회차 미션 오늘부터 스프링 부트 공부를 시작해보았다. 오랜만에 처음써보는 것들을 시작해서 설레기도하고 어렵기도 하다. 이전에 패스트캠퍼스 강의 내에서 자바 기초 공부를 할 때에는 사실 코딩은 거의 안하고 이론을 복습하는 느낌으로 했었는데, 오늘부터는 실제로 코딩을 하면서 따라해보려고 한다. 그러다보니 블로그 글을 어떤식으로 적어야 할 지 모르겠다... 환급과정 미션이다보니 이런저런 양식들이 있고, 글자수도 1000자를 채우라고 하는데 이론이 아니고 실제 코딩을 하는걸 어떻게 유용한 포스팅으로 만들어 볼까 고민이 된다. 우선 실제로 코딩을 하기에 앞서서 아래와 같이 프로젝트의 기본적인 개념과 필요한 개념들을 고민해보고 시작했다. 고객 관점에서 필요한 기능들을 나열해본 후 가게 주인 관점에서도 필요한 메뉴들을 구상해 .. 2020. 8. 30.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 19회차 미션 오늘은 인터페이스에 대해서 공부해보았다. 인터페이스의 요소에는 추상메서드, 상수, 디폴트메서드, 정적메서드, private메서드 가 있다. 인터페이스의 선언과 구현 방법은 아래와 같다. 인터페이스를 구현한 클래스는 인터페이스 타입으로 변수를 선언하여 인스턴스를 생성할 수 있다. 인터페이스는 구현 코드가 없기 때문에 타입 상속이라고도 한다. 인터페이스의 역할에 대해 알아보았다. 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 알려주는 명세(specification)또는 약속이라고 할 수 있다. 한 객체가 어떤 인터페이스의 타입이라 함은 그 인터페이스의 메서드를 구현했다는 의미이다. 클라이언트 프로그램은 실제 구현내용을 몰라도 인터페이스의 정의만 알면 그 객체를 사용할 수 있다. 인터페이스를 구현.. 2020. 8. 28.
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 15회차 미션 오늘은 List 인터페이스 및 Stack과 Queue에 대해서 공부해보았다. ArrayList와 Vector는 객체 배열 클래스이다. Vector는 자바 2부터 제공된 클래스라고 하는데, 학원에서도 배우지 않아서 생소하다. 일반적으로는 ArrayList를 더 많이 사용한다고 한다. Vector는 멀티 쓰레드 프로그램에서 동기화를 지원한다. 동기화(Synchronization)란 두개의 쓰레드가 동시에 하나의 리소스에 접근할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 하는 것이다. capacity와 size는 다른의미이다. Stack은 List In First Out(LIFO)의 형태를 가지고 있다. 즉, 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조이다. 이미 구현된 클래스가 제공된다.. 2020. 8. 24.
반응형