목록전체 글 (151)
ultra_dev
📌 제네릭 :결정되지 않은 타입을 파라미터로 처리하고, 실제 사용할 때 파라미터를 구체적 타입으로 대체 시키는 기능 public class Box { public T content; } 는 T가 타입 파라미터임을 뜻하는 기호, A부터 Z까지 어떤 알파벳을 사용해도 괜찮음. 단지 이름일 뿐 Box box = new Box(); box.content = "안녕하세요."; String content = box.content; //강제타입변환 필요 없이 안녕하세요 얻기 가능 Box box = new Box(); box.content = 100; int content = box.content; // 강제타입변환 필요 없이 100 얻기 가능 ☑️ 타입 파라미터를 대체하는 타입은 클래스 및 인터페이스 -> 기본타입은..
이것이자바다 CH12 공부 이것이 자바다 CH12.모듈 📌 Object의 equals() 메소드는 원래 객체의 번지를 비교하는 == 과 동일한 결과를 리턴한다. 우리가 아는 값만 비교하는 equals()는 String에서 재정의한 equals()이다. equals()는 재정의가 가능하며 이럴 tw-dev.tistory.com ☑️ id값 Long 사용 이유 null을 사용할 수 있기 때문에 프리미티브 타입은 기본값이 0인데 그럼 실제로 id 값이 0인건지, 값이 없는건지 구분 어려움, id가 0일 수도 있으니 이때 Wrapper 타입인 Long을 쓰면 id가 없는 경우엔 확실히 null이고, 그 자체로 id가 없다는걸 보장 ☑️ 트리..인덱스..자료구조.. ☑️배열,리스트 메모리 관점에서 차이 배열은 일..
📌 Object의 equals() 메소드는 원래 객체의 번지를 비교하는 == 과 동일한 결과를 리턴한다. 우리가 아는 값만 비교하는 equals()는 String에서 재정의한 equals()이다. equals()는 재정의가 가능하며 이럴 경우 hascode()도 보통 같이 재정의한다. hashcode()는 객체를 식별하는 정수인데 equals()를 값만 보는 걸로 재정의해도 hashcode()가 그대로면 서로 다른 객체로 인식하게 되니 hashcode()도 재정의를 같이 해준다. 📌 롬복 라이브러리 Getter, Setter, hasCode(),euqals(),toString() 메소드를 자동 생성해줌 ex) @Data가 붙게 되면 Getter, Setter, hasCode(),euqals(),toStr..
📌enum 타입은 == 쓰는게 맞다! equals() 써도 내부적으론 == 처리한다 📌이름 잘못해서 .java나오면 이름 바꾸고 알트엔터해서 리네임파일 누르면 깔끔하게 해결 📌 long (원시타입) 사용하면 null값이 안들어가서 Long (참조타입) 사용한다..!? Long은 Wrapper Class이다 Long의 값이 null일 때 long에 Long값을 대입하면 형변환이 되지 않아 에러 발생 ☑️id 값에 Long을 사용하는 이유는 도메인 영역의 id는 대체로 DB Table 값을 의미하는 경우가 많다. 즉, 데이터가 생성되는 시점에서 해당 값이 할당된다는 것이며, 도메인 객체의 id는 특정 시점에 존재할 수도 있고 존재하지 않을 수도 있다. 그렇기 때문에 long이 아닌 Long을 사용하며, 다만..