럼복 (Lombok), 캐스팅 다운/업 ~

호이잇·2023년 7월 6일
0

JAVA

목록 보기
11/12

search everything

구글에 saerch everyghing 검색 후 다운로드
package 오류가 날 경우 파일을 정리해야함
ctrl + shift + p -> clean java를 치면 정리된다


럼복 적용 방법

  • vs코드 마켓플레이스에서 lombok을 확장한다.
  • MVN 검색 -> mavenrepository.com

  • 검색창에 lombok 검색 -> project lombok

  • version은 알아서 최신 다운

  • 진행중인 자바프로젝트 파일에 lib 파일 생성 후 넣기

  • vscode의 왼쪽 하단 JAVA PROJECTS에서 Referenced Libraries의 lombk이 있는지 확인


럼복을 쓰기 전


럼복을 쓴 후



다운 / 업 캐스팅

  • 업캐스팅 (Upcasting):
  • 자식 클래스의 객체를 부모 클래스의 타입으로 형 변환하는 것.
  • 자동으로 이루어짐.
  • 부모 클래스의 속성과 메서드에만 접근 가능.
  • 클래스 간의 계층 구조 표현과 다형성 구현에 사용.
  • 다운캐스팅 (Downcasting):
  • 업캐스팅된 객체를 다시 원래의 자식 클래스 타입으로 형 변환하는 것.
  • 명시적으로 형 변환 연산자 (자식클래스타입) 사용.
  • 업캐스팅된 객체가 해당 자식 클래스의 인스턴스인 경우에만 성공.
  • 추가적인 속성과 메서드에 접근 가능.
  • 자식 클래스의 특정 기능을 사용하기 위해 사용.

업캐스팅은 상위 클래스 타입을 사용하여 범용적인 처리를 할 수 있게 해주고, 다운캐스팅은 특정한 상황에서 하위 클래스의 기능을 사용하기 위해 타입을 변환하는 역할을 한다. 이러한 형 변환을 통해 클래스 간의 상속 관계를 유연하게 다룰 수 있고, 다형성을 구현할 수 있다.



날짜와 시간


컬렉션 프레임 웍

  • 컬렉션 - 여러객체(데이터)를 모아 놓은 것을 의미
  • 프레임웍(framework) -표준화, 정형화된 체계적인 프로그래밍 방식
  • 컬렉션 프레임웍 (COLLECTIONS FRAMEWORK)
    - 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
    • 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
    • java.util패키지에 포함
  • 컬렉션 클래스(collection class)
    - 다수의 데이터를 저장할 수 있는 클래스 (ex, Vector, ArrayList,HashSet)

각 차이점을 보자

List



Set



Map



Stack



Queue



null값 강제 처리

  1. Null 값 처리:
  • 코드에서는 "str"이라는 String 변수를 null로 초기화함.
  • if문을 사용하여 "str"이 null인지 확인하고, null일 경우 "데이터가 null 입니다"라는 메 시지를 출력. null이 아닐 경우에는 "str.length()"를 출력.
  • 이렇게 함으로써 null 값을 사용할 때 NullPointerException을 방지하고, 프로그램의 안 정성을 높일 수 있음.
  1. Optional 클래스의 활용:
  • 코드에서는 OptionalStr이라는 Optional 객체를 생성합니다. Optional.of() 메소드를 사 용하여 "ㅁㄴㅇㄹ"이라는 문자열을 포함시킴.
  • OptionalStr 객체를 사용하여 if문을 통해 값이 비어 있는지(empty) 확인합니다. 값이 비 어 있다면 "데이터가 null입니다"라는 메시지를 출력하고, 값이 비어 있지 않다면 "OptionalStr.get().length()"를 출력.
  • Optional 클래스를 사용하면 값이 있을 수도 있고 없을 수도 있는 상황을 처리할 수 있으며, null 처리를 강제할 수 있음.

이 코드는 null 값을 처리하는 방법과 Optional 클래스를 사용하여 프로그램의 안정성을 높이고 예외를 방지하는 예제이다.

이 코드를 작성한 이유는 다음과 같다:

  • Null 값 처리의 중요성: null 값을 처리하지 않으면 NullPointerException과 같은 예외가 발생할 수 있음. 이를 방지하기 위해 null 값을 적절히 처리하는 것이 중요함.
  • Optional 클래스의 활용: Optional 클래스는 Java 8부터 도입되어 null 값을 처리하는 더욱 효과적인 방법을 제공함. Optional을 사용하면 값이 있을 수도 있고 없을 수도 있는 상황을 다룰 수 있으며, null 처리를 강제할 수 있다. 이를 통해 코드의 가독성과 안정성을 개선할 수 있다.

따라서, 이 코드는 null 값을 처리하는 방법과 Optional 클래스를 사용하여 안정성을 높이고 예외를 방지하는 방법을 학습하고 이해하기 위한 예제이다.


데이터 고정적 제한

주어진 코드는 열거형(enum)과 클래스를 사용하여 성별(Gender)을 나타내는 데이터를 고정적으로 제한하고, 해당 데이터를 사용하는 Person 객체를 생성하는 예제이다.

먼저, enum인 Gender는 MALE과 FEMALE로 두 가지 값을 가질 수 있는 상수형 열거형입니다. 이를 사용하여 성별을 제한적으로 표현할 수 있습니다.

그리고 Person 클래스는 이름(name)과 성별(gender)을 가지는 객체를 나타냅니다. 이 클래스는 Getter와 ToString 어노테이션을 사용하여 자동으로 getter 메소드와 문자열 표현을 생성한다. 생성자에서는 이름과 Gender 객체를 받아와서 해당 값을 설정한다. 성별은 Gender 열거형의 name() 메소드를 사용하여 문자열로 변환하여 저장.

마지막으로, main 메소드에서는 "홍길동"이라는 이름과 Gender.MALE 값을 가지는 Person 객체를 생성. 생성된 Person 객체를 출력.

이 코드는 enum을 사용하여 데이터를 고정적으로 제한하고, 클래스를 통해 해당 데이터를 사용하는 객체를 생성하는 간단한 예제이다.

profile
코린이의 전원일기

0개의 댓글