어제(23.3.17)도 공부하긴 했는데, 엎어졌다.
갑자기 모르는 개념이 우다다다 쏟아지는데, 일주일 동안 감기랑 동고동락하면서 회사일 바쁘게 쳐내면서 퇴근하고 2-3시간 정도 코딩공부하다 보니 몸은 닳을 대로 닳고, 과부하였던 듯하다. 몸도 안 따라 주는데 모르는 게 쏟아지니까 ㅋㅋㅋ
그래서 커밋은 했는데 포스팅은 실패 ㅜ ㅋㅋㅋ
근데 어렵게 생각하지 말고 "자주 보고 일단 익숙해져야 한다."는 처음의 마음을 잊지 말고,
모르는 건 꼼꼼히 챙기되, 너무 스트레스 받지 말고 하나씩 하나씩 머리에 입력하면 되지 ㅎㅎ
가즈아!
interface(인터페이스)
MemberRepository repository = new MemoryMemberRepository();
인스턴스 생성 시 기존에 알던 문법과는 다르다.
"class 이름" "인스턴스 이름" = new "class 이름"();
으로 입력되어야 하는데, class 이름이 앞뒤로 다르다.
interface라는 추상 class 인데, 기존 java에서 instance 생성 시, 문제점(다중상속 지원 X)을 해결한다.
인터페이스 변수 = 구현객체;
public class MemoryMemberRepository implements MemberRepository {
(...)
}
요 형태로 class 선언되어 있으면 interface로 인스턴스 생성, 상속을 가능하게 한다.
무튼 그런 개념이 있는 정도로 스킵.
interface 사용을 위한 절차:
⌥+return 키 입력 후 implement methods 선택
그럼 package랑 library 이것저것 호출됨:)
참고:
테스트 코드 실행 결과 확인
@Test
public void save() {
Member member = new Member();
member.setName("Spring");
repository.save(member);
Member result = repository.findById(member.getId()).get(); //Optional에서 꺼낼 때 get() 사용.. 문제 소지 있지만 test 에서는 상관 없음
Assertions.assertEquals(member, result);//junit안에 있는 method
// System.out.println("result = " + (result == member));
System.out.println(result);
System.out.println(result.getName());
System.out.println(member.getName());
}
}
Spring 이라는 name값을 입력받은 member(class)를 repository에 저장한다.
저장된 값을 읽어와서 result 라는 클래스를 선언한다.
repository에 저장된 class를 불러온 class와 입력한 class가 동일하다면 제대로 입력됐는지 확인할 수 있다는 알고리즘으로 테스트코드가 구현되어 있다.
(이 save() method를 이해하기 위해 2시간은 쏟은 듯하다 으하하하)
결과:
성공
실패
그리고 내 선에서 이해해보기 위해 맘대로 뚜드려대고 출력 확인해 봄.
오 제대로 입력이 됐군.
두 개의 입력값이 같군.
어제는 좀 쫄았는데,
보고 또 보고
step by step
급하게 생각하지 말고 원래 1년 정도는 공부할 생각하고 준비한 거니까.
'developer > 인프런 - 스프링 입문' 카테고리의 다른 글
[인프런 - 스프링 입문] 3/19 개발공부일지 - 회원가입예제(예외 처리, 의존성 주입 등등등배가슴어깨하체) (2) | 2023.03.19 |
---|---|
[인프런 - 스프링 입문] 3/18 개발공부일지(2) - assertThat 사용, @AfterEach, TDD의 간단한 개념 (0) | 2023.03.18 |
[인프런 - 스프링 입문] 3/15 개발공부일지 - api, 회원 관리 예제 (0) | 2023.03.15 |
[인프런 - 스프링 입문] 3/15 개발공부일지 - github 잔디 살리기, 개같이 부활, E325: ATTENTION (0) | 2023.03.15 |
[인프런 - 스프링 입문] 3/14 개발공부일지 - 갑 프(론트엔드) 튀, 그리고 내잔디 돌리도 (4) | 2023.03.14 |