본문 바로가기

BACKEND/JAVA4

자바 Enum의 특징과 사용법, 그리고 주의 사항을 알아보자 1. Enum의 개념 및 특징 우리가 흔히 상수를 정의할 때 final static string과 같은 방식으로 상수를 정의한다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생된다. 이러한 문제점들을 보완하기 위해 JAVA 1.5버전부터 추가된 것이 바로 enum이다. 자바의 enum은 열거형(Enumeration)을 나타내는 특별한 데이터 타입이다. enum은 서로 연관된 상수값들을 정의하고 사용하기 위한 용도로 사용된다. enum의 주요 특징 1. 상수 집합 정의 서로 연관된 상수 값을 그룹화하여 정의하며, 상수 값을 열거하므로 열거형이라고 불린다. 2. 클래스와 유사 클래스와 유사한 구조를 가지며, 생성자, 멤버 변수, 메서드를 가질 수 있다. 각 상수 값은 해당 enum 타입의 .. 2023. 12. 29.
자바의 원시 타입(Primitive Type) VS 참조 타입 (Reference Type) 1. 원시 타입(Primitive Type)과 참조 타입(Reference Type) JAVA에는 데이터 타입을 원시 타입(Primitive Type)과 참조 타입(Reference Type)으로 나눌 수 있다. 원시 타입(Primitive type)은 기본 데이터 유형으로, 스택 메모리에 직접 값이 저장된다. 원시 타입의 종류로는 정수 타입의 byte, short, int, long / 실수 타입의 float, double 논리 타입의 boolean / 문자형의 char로 총 8개의 타입이 있다. 참조 타입(Reference type)은 객체의 참조를 저장하는 데 사용되며, 객체는 힙 메모리에 저장된다. 참조 타입의 종류로는 클래스, 인터페이스, 배열 등이 있다. 2. 원시 타입과 참조 타입의 차이점 .. 2023. 12. 18.
오버로딩과 오버라이딩의 개념 및 차이점 오버로딩(Overroading) 정의 동일한 메서드 이름을 가지고 매개변수의 타입, 개수, 또는 순서가 다르게 여러 버전의 메서드를 선언하는 것 특징 메서드 이름은 동일하나, 매개변수의 시그니처가 서로 달라야 함 반환 타입은 오버로딩에 영향을 미치지 않음 예시 코드 class Example { void print(int a) { System.out.println(a); } void print(double b) { System.out.println(b); } } 오버라이딩(Overriding) 정의 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 동일한 시그니처로 재정의하는 것 특징 메서드 시그니처(이름, 매개변수, 반환 타입)가 부모 클래스와 동일해야 함 부모 클래스에서 상속받은 메서드를 자식 클래.. 2023. 12. 13.
equals()와 hashCode()의 역할 및 오버라이딩 시 주의사항 1. equals() 메서드와 hashCode() 메서드의 차이점 equals() 메서드는 객체의 값의 일치여부(boolean)을 반환하는 타입이고, hashCode() 메서드는 객체의 주소값(int)을 이용하여 객체 고유의 해시코드를 리턴하는 함수이다. euqlas() 메서드와 hashCode() 메서드의 차이점 1. 사용 목적 equals() 두 객체가 논리적으로 동일한지를 확인하는 데 사용된다. 즉, 두 객체의 내용이 같은지를 비교한다. hashCode() 객체의 해시 코드 값을 반환하는 데 사용된다. 해시 코드는 일반적으로 객체가 저장되는 자료구조에서 빠른 검색을 위해 활용된다. 2. 시나리오 equals() 주로 두 객체의 내용이 같은지 확인하는데 사용되며, 논리적인 동등성 비교에 활용한다. 예.. 2023. 12. 12.