본문 바로가기

분류 전체보기260

Java - 제네릭스 (Generics) 1. 제네릭스 (Generics) 1) 컴파일시 타입을 체크해 주는 기능. 2) 클래스를 설계할 때 타입 파라미터로 대체했다가 실제 사용될 때 구체적인 타입을 지정함으로써 타입 변환을 최소화. 3) 선언시 클래스 또는 인터페이스 이름 뒤에 "" 부호가 붙음. 사이에는 타입 파라미터가 들어감. 4) 타입 파라미터 - 일반적으로 대문자 알파벳 한 문자로 표현. - 개발 코드에서는 타입 파라미터 자리 자리에 구체적인 타입을 지정해야 함. public class 클래스명 {....} public interface 인터페이스명 {....} 2. 제네릭스를 사용하는 이유 1) 컴파일 시 미리 타입을 체크해서 런타임 에러를 사전에 방지 2) 불필요한 타입 변환을 생략할 수 있어 코드가 간결해짐. 3) 비제네릭을 사용.. 2022. 10. 29.
미래 그려보기 (22.10.28 TIL) 오늘의 금요지식회 발표자는 로지님! 취준 노하우 관련해서 여러가지 말씀해 주셨는데 제일 중요한 것은 꾸준함과 소프트스킬 인 것 같다. 일단 간단히 오늘 발표에 대해 요약해보자. 1) 원칙과 가이드 라인을 지키자! 어쨌든 모든 것은 나의 노력에 달린 거지만 트레이너 분들의 가이드라인만 그대로 따라해도 90프로는 이룬 것이나 다름 없다. 사실 매일 오전마다 하는 코딩 테스트 풀기 시간에서도 1시간의 제한 시간을 넘기면서까지 코테에 집착하지 말라고 하셨는데 (아무래도 실제 코테에서도 '제발 5분만 더 주세요!' 할 수는 없기 때문에,,) 조금만 더 해보자, 하다가 주어진 시간을 훌쩍 넘긴 적이 많았다. 그런데도 풀어내지 못했을 경우 자괴감까지 더해지기 때문에 이건 나한테도 좋을 것이 없다. 2) 면접에 임할 .. 2022. 10. 28.
findById vs getReferenceById 차이(22.10.27 TIL) getById 는 왜 deprecated 되었을까? 라는 동기분의 질문에 대한 노아님의 견해인데, 추가로 답변 하단에 남겨주신 findBy~ 메서드와 getBy~ 메서드의 내부 구현에 차이점이 존재한다는 코멘트를 보고 궁금증이 생겨 찾아보았다. findById 와 getReferenceById 를 예시로 들어보자. findById 는 CrudRepository 에 있는 메서드이고, getReferenceById 는 JPARepository 에 있는 메서드이다. //CrudRepository public interface CrudRepository { ... Optional findById(ID id); Iterable findAll(); ... } //JpaRepository public interfac.. 2022. 10. 27.
Java 제네릭스 (Generics) (22.10.26 TIL) 오늘의 개념 공부는 제네릭이다. 과제를 하며 아무 생각 없이 컬렉션과 함께 썼던 제네릭이었는데, 이렇게 개념 공부를 하면서 보니까 또 낯설다. 이런 개념 공부에서 시작해서 제네릭을 쓰려고 했다면 더 어려웠을 거라고 확신한다. 역시 일단 해보면서 부딪치는 게 제일 낫다는 홀맨님 말씀이 또 생각나는~.~ 1. 제네릭스 (Generics) 1) 컴파일시 타입을 체크해 주는 기능. 2) 클래스를 설계할 때 타입 파라미터로 대체했다가 실제 사용될 때 구체적인 타입을 지정함으로써 타입 변환을 최소화. 3) 선언시 클래스 또는 인터페이스 이름 뒤에 "" 부호가 붙음. 사이에는 타입 파라미터가 들어감. 4) 타입 파라미터 - 일반적으로 대문자 알파벳 한 문자로 표현. - 개발 코드에서는 타입 파라미터 자리 자리에 구체.. 2022. 10. 26.
Java 다형성, instanceof (22.10.25 TIL) 부족했던 개념들을 요새 다시 자바 기본서를 읽으면서 정리중이다. 오늘은 다형성에 관해 정리한 내용! 1. 다형성 (Polymorphism) 1) 부모 타입의 참조 변수로 자식 타입의 여러 객체를 다룰 수 있는 기능. 다형성은 상속을 전제 조건으로 함. 2) 상속한 클래스의 객체는 슈퍼 클래스로도 서브 클래스로도 다룰 수 있음. 3) 같은 코드에서 여러 다른 실행 결과가 나옴. 4) 하위클래스 객체를 상위클래스에 대입하여 사용할 수 있음. 5) 캡슐화(정보 은닉), 상속과 더불어 객체 지향 프로그래밍의 가장 큰 특징 중 하나임. 6) 다형성을 잘 활용하면 유연하고 확장성 있고, 유지보수가 편리한 프로그램을 만들 수 있음. 기본적으로는 아래 코드처럼 객체를 생성할 때 참조 타입과 인스턴스의 타입을 동일하게 .. 2022. 10. 25.
Java Arrays 클래스 (22.10.24 TIL) 오늘 코딩도장 문제를 푸는 도중 Arrays 클래스의 copyOfRange 메서드를 사용한 김에 자주 쓰일법한 메서드를 더 정리해 보았다. 1. Arrays 클래스로 배열 다루기 1) 배열의 비교와 출력 메서드 - toString(), deepToString() 메서드 예시 - toString() 은 1차원 배열에 쓰이고, deepToString() 은 2차원 혹은 다차원 배열에 쓰임. int[] arr1 = {0,1,2,3,4}; int[][] arr2 = {{11,12}, {21,22}}; System.out.println(Arrays.toString(arr1)); //출력 화면 => [0,1,2,3,.. 2022. 10. 24.