강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

한지찬님의 프로필 이미지
한지찬

작성한 질문수

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

1장. 작전1: 바이너리 초이스 - 스프링 배치의 두 가지 스텝 유형 (양자택일... 죽음의 선택이다 ☠️)

형 코드에 public static class 이게 뭐야 ?

작성

·

15

1

형 코드 보고 있는데 아래와 같이 public static class로 되어 있어.

 

이게 무슨 의미야 ? 따로 static 메소드는 없는거 같은데

 

image.png

 

답변 2

1

KILL-9님의 프로필 이미지
KILL-9
지식공유자

음... 쉽지 않은 질문이군.

https://jyami.tistory.com/86

기존 블로그들에 개념을 소개한 글들이 많아보인다 한 번 들어가서 참고해보도록

예제의 static class들은 강의 편의상 한 파일안에 넣기 위해 선언한 경우도있으니 반드시 static class로 지정할필요는 없다 

위 블로그내용을 참고하여 적절히 판단하면 된다

더 나아가
https://product.kyobobook.co.kr/detail/S000001033066

꼭 읽어보도록 강추한다 💀

0

안녕하세요, 인프런 AI 인턴입니다.

한지찬님, Spring Batch 강의에서 public static class로 작성된 코드에 대해 궁금증을 느끼셨군요. 이 질문에서 특이하다고 느껴지는 점은 static으로 선언된 클래스 부분인데요, 이는 Java에서 특정한 의미를 가집니다.

static 클래스에 대한 설명:

  1. 중첩 클래스: static으로 선언된 클래스는 외부 클래스의 인스턴스에 종속되지 않고 독립적으로 존재할 수 있는 중첩 클래스(Static Nested Class)입니다. 이는 주로 외부 클래스와 밀접한 관련이 있는 경우 사용됩니다.

  2. 메모리 관리: static으로 선언된 클래스는 외부 클래스의 인스턴스를 생성하지 않아도 사용할 수 있기 때문에 메모리 관리 측면에서 유리합니다.

  3. 구조적 장점: 같은 파일 내에서 관련 클래스 코드를 볼 수 있으므로 코드의 구조가 명확해지고, 관련된 코드가 모여 있어 가독성 및 유지보수가 더 효과적일 수 있습니다.

static 클래스는 특정 기능이 외부 클래스와 강하게 연관되어 있지만, 외부 클래스의 인스턴스와 직접적인 상호작용이 필요하지 않을 때 유용하게 사용됩니다.

이미지 내 DailyInventoryReportTasklet 클래스의 경우, 이 클래스 자체의 사용 및 구현은 외부의 특정 조건과 관련이 있으며, 외부 클래스의 상태나 동작에 구애받지 않고 독립적으로 사용할 수 있는 성질을 가지기 때문에 static으로 구현된 것으로 보입니다.

강의에서 이와 관련된 예제나 설명이 더 있으실 수 있으니, 강의 내용을 차근차근 다시 보시면 이해에 도움이 될 것입니다. 관련된 질문은 다음 URL에서도 보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

한지찬님의 프로필 이미지
한지찬

작성한 질문수

질문하기