본문 바로가기

Java3

[Java] isSameAs, isEqualTo 정리 안녕하세요. 자바 코드를 테스트하면서 assetj의 isSameAs와 isEqualTo의 차이가 궁금해서 찾아보다가, 깊은 내용이 있음을 알게 되어 정리합니다. 참고로 테스트하실 때 밑에 있는 assertj로 사용하셔야 합니다! 그리고 Assertions에 Alt 누르고 static import 하면 Assertions 안 치고도 사용할 수 있습니다! 본론으로 들어와서, inSameAs와 isEqualTo의 차이를 알아봅시다. 결론부터 말씀드리면, 주소 값 비교(==, same)와 값 비교(equals)입니다. 스택오버플로우의 답변을 아래에 첨부합니다[1]. isSameAs - checks if objects are same (e.g. checking if objects point to same refe.. 2022. 1. 13.
[Java] Primitive Type/Wrapper Class Long과 long은 무슨 차이가 있을까요? 안녕하세요. 오늘은 Primitive Type과 Wrapper Class에 대해 알아보겠습니다. 스프링을 공부하면서, 회원 객체를 구현한 클래스에서 멤버 변수로 'Long id'를 이용하는 것을 보고 왜 long이 아닌 Long을 이용하는지 궁금해져서 알아보았습니다. 이유를 이해하기 위해서는, 먼저 Primitive Type(기본형), Wrapper Class(래퍼 클래스)가 무엇인지 알아야 합니다. Java에는 변수 타입에는 기본형(Primitive Type)과 참조형(Reference Type)이 있습니다[1]. 기본형 변수는 값을 그대로 저장하고, 참조형 변수는 객체의 레퍼런스를 저장합니다. int a = 3; // 기본형 int b[] = new int.. 2022. 1. 5.
[Java] 상속 extends, implements, abstract 'Parent a = new Child()'에서, a 객체의 타입은 무엇일까요? 안녕하세요. 스프링을 공부하면서 자바 상속을 복습해야겠다는 생각이 들어서 상속에 대한 게시글을 작성합니다. 의문점이 든 부분은 '부모 a = new 자식(); 일 때, a 객체의 타입은 무엇인가?' 였습니다. 답은 자식입니다. 해당 의문점은 코드는 아래 코드에서 시작되었습니다. void findByName(){ MemberService memberService = ac.getBean("memberService",MemberService.class); assertThat(memberService).isInstanceOf(MemberServiceImpl.class); } 두 번째 줄에서, ac.getBean에서 꺼내오는 객체는 .. 2022. 1. 4.