분류 전체보기(171)
-
[JAVA] Map & HashMap
Map이란? Map은 각각의 대응관계를 쉽게 표현할 수 있게 해주는 자료형이다. Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 key를 통해 value(값)를 얻는다. Map의 가장 큰 특징은 key로 value를 얻어낸다는 점이다. 예를 들어 name이란 단어의 뜻을 찾기 위해서 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 name이라는 단어가 있는 곳만을 펼쳐보는 것이다. Map 역시 List와 마찬가지로 인터페이스이고, Map 인터페이스를 구현한 Map 자료형에는 HashMap, LinkedHashMap, TreeMap 등이 있다. Map의 장점 Map은 특정 값을 검색하는데 있어 그에 해당하는 키 값을 통해 찾을 수 있기 때문에, 검색이 빠르고 간단하다는 장점이 있다. ..
2024.02.20 -
[JAVA] 제네릭(Generic)이란?
제네릭(Generic)이란? 제네릭(Generic)이란 일반적인 코드를 작성하고, 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법이다. 제네릭은 타입을 파라미터화해서 컴파일시 구체적인 타입이 결정되도록 한다. 또한 클래스 내부에서 사용할 데이터 타입을 외부에서 지정해준다. 제네릭은 컬렉션, 람다식, 스트림 등에서 널리 사용된다. ex) public class Person { public T info; public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); } } 제네릭(Generic)의 장점 제네릭은 컴파일시 강한 타입 체크를 할 수 있다. 따라서 실행 시에 타입 에러가 나는 ..
2024.02.20 -
[JAVA] getter와 setter를 사용하는 이유
일반적으로 프로그래밍을 할 때, 객체들의 데이터(필드)를 외부에서 직접적으로 접근하는 것을 막아놓는다. 필드들을 private 접근 제한자로 막아두고, 각 필드의 Getter, Setter로 접근하는 방식을 사용한다. 이렇게 프로그램을 하는 이유는 객체의 무결성을 보장하기 위해서이다. 예를 들어 Man이라는 클래스에 weight(몸무게)라는 필드가 존재할 때, weight는 0보다 작을 수 없으나, 외부에서 직접적으로 접근할 경우, weight에 -100이라는 값을 줌으로써 객체의 무결성이 깨지는 일이 발생한다. 클래스의 필드에 직접 접근하는 것을 막기 위해서 getter와 setter를 사용한다. Getter & Setter 사용 방법 이를 방지하기 위해, 필드를 private로 만들어 외부의 접근을 ..
2024.02.20 -
[JAVA] Long과 long의 차이
Long과 long이란? long이란? long은 기본 데이터 유형(=원시 데이터 유형)이다. long을 사용할 때 주의할 점은 long 데이터 유형의 값 뒤에 'L'을 작성하여 long 값을 나타내주어야 한다. 그렇지 않으면 컴파일러가 오류를 발생시킬 수 있다. long은 정수형 숫자를 표현하는데 사용되며, 특히 매우 큰 범위의 정수를 다룰 때 유용하다. 그러나 소수점 이하의 숫자를 다루는 데는 적합하지 않다. long num = 15000L; Long이란? Long은 long의 래퍼 클래스(Wrapper class)로 객체가 기본 데이터 유형을 저장할 수 이는 특정 유형의 클래스이다. 즉, Long 클래스는 원시형 long 값을 객체에 랩하는 클래스이다. 래퍼 클래스는 래퍼 개체를 만들 수 있으며, ..
2024.02.20 -
entity에서 id값을 Long으로 지정하는 이유
스프링 강의를 듣던 중 id값을 int가 아닌 Long 타입으로 지정하는 이유가 궁금해서 정리해보려 한다. id값을 int가 아닌 Long 타입으로 지정하는 이유에는 두 가지가 있다. 그 전에 알아야 할 것은 long과 Long에는 차이점이 있다는 것이다. 그 내용은 아래의 글을 참고하면 된다. https://danii0110.tistory.com/171 [JAVA] Long과 long의 차이 Long과 long이란? long이란? long은 기본 데이터 유형(=원시 데이터 유형)이다. long을 사용할 때 주의할 점은 long 데이터 유형의 값 뒤에 'L'을 작성하여 long 값을 나타내주어야 한다. 그렇지 않으면 컴 danii0110.tistory.com id값을 int가 아닌 Long 타입으로 지정..
2024.02.20 -
[JAVA] 생성자(Constructor)와 초기화
생성자(Constructor)란? 생성자(Constructor)는 객체가 생성될 때 자동으로 호출되는 특수 목적의 멤버함수(메소드)로 객체의 초기화를 위해 사용된다. 생성자(Constructor)의 특징 생성자(Constructor)의 이름은 클래스 이름과 동일해야 한다. 생성자(Constructor)는 다른 멤버함수(메소드)와는 다르게 리턴 타입이 없다. 생성자(Constructor)는 객체가 생성될 때 자동으로 한 번 호출된다. 생성자(Constructor)는 매개변수 조건에 따라 여러 개를 작성할 수 있다.(오버로딩) 생성자(Constructor)는 클래스에 최소 1개는 있어야 하며, 생성자 코드가 없을 경우 컴파일러가 기본 생성자를 자동으로 생성한다. 주의할 점은 생성자 코드가 1개라도 작성되어 ..
2024.02.19