본문 바로가기

java8

Java 공변 반환 타입과 메소드 오버로딩: 개념 및 활용법 자식 클래스에서 부모 클래스의 메소드를 오버라이딩할 때, 메소드의 반환 타입자식 클래스에서 부모 클래스의 메소드를 오버라이딩할 때, 메소드의 반환 타입은 부모 클래스의 메소드의 반환 타입은 부모 클래스의 메소드의 반환 타입보다 더 구체적인 타입(subtype)이 도리 수 있다. 이는 공변 반환 타입(convariant return types)이라고 하며, Java 5.0부터 지원되는 기능이다. 이러한 방식을 사용하면 코드의 가독성을 높이고, 런타임 시 ClassCastException 을 방지할 수 있다. 공변 반환 타입의 주요 규칙은 다음과 같다:오버라이딩된 메소드의 반환 타입은 오버라이드되는 메소드의 반환 타입의 서브타입이어야 한다.이는 참조 타입에만 적용되며, 기본 타입(primitive type).. 2024. 5. 30.
Java 메소드 오버로딩: 개념, 장단점, 오버라이딩과의 차이 오버로딩이란Java에서 메소드 오버로딩(overloading)은 같은 이름의 메소드를 여러 개 정의하는 것을 의미한다. 이때 각 메소드는 매개변수의 타입이나 개수가 달라야 한다. 이는 같은 동작을 수행하지만, 입력 값의 형태에 따라 다른 방식으로 처리해야 할 때 유용하다. 예를 들어, 문자열의 길이를 계산하는 메소드와 정수의 자릿수를 계산하는 메소드를 각각 getLength(String str)와 getLength(int i)로 정의할 수 있다. 이렇게 하면, 메소드 호출 시 전달된 인자의 타입에 따라 적절한 메소드가 선택되어 실행된다. 오버로딩의 주요 특징은 다음과 같다:메소드 이름은 동일해야 하지만, 매개변수의 타입이나 개수는 달라야 한다.반환 타입은 오버로딩을 구분하는 기준이 아니다. 즉, 매개변수.. 2024. 5. 30.
왜 Spring Boot 에서 JSP 대신 Thymeleaf 를 권장할까? Spring Boot는 JSP 대신 Thymeleaf, FreeMarker, Groovy 템플릿 같은 다른 템플릿 엔진을 사용하는 것을 권한다. 왜 그럴까? 주된 이유는 JSP 파일이 컴파일 및 실행되는 방식과 관련이 있다. 일단 JSP(Java Server Pages) 파일의 컴파일과 실행 과정을 알아보자. JSP 파일 생성: 웹 개발자는 JSP 파일을 작성한다. JSP 파일은 HTML 코드와 Java 코드가 혼합된 형태로 작성된다. 이 파일은 웹 애플리케이션 프로젝트 내에 저장된다. 클라이언트 요청: 클라이언트(웹 브라우저)가 특정 URL을 요청한다. 이 URL 이 JSP 파일에 해당하는 경우, 웹 서버는 해당 JSP 파일을 처리해야 함을 인식한다. JSP 컴파일: 웹 서버(예: Apache tomc.. 2024. 3. 25.
JpaRepository 기능과 활용: Spring Data JPA의 이해 JPARepository 는 Spring Data JPA의 핵심 엔터페이스 중 하나로, JPA 기반의 데이터 접근 계층을 쉽게 구현할 수 있게 해준다. 그 뿐만 아니라, 복잡한 쿼리 작성과 데이터 관리 과정을 매우 단순화할 수도 있다. 이 인터페이스는 CrudRepository 와 PagingAndSortingRepository 를 확장하며, JPA에 특화된 메소드를 추가로 제공한다. 특징 및 기능 >> CRUD 작업 : JPARepository 는 엔티티의 생성, 읽기, 업데이트, 삭제(이하 CRUD)에 필요한 기본적인 메소드를 제공한다. 이를 통해 개발자는 기본적인 데이터베이스 작업을 빠르게 구현할 수 있다. public interface UserRepository extends JpaReposito.. 2024. 3. 25.