java static class와 kotlin class
79
1 asked
[질문 내용]
kotlin으로 실습을 진행하고 있는데, java의 static class에서 static은 무슨 의미인가요? kotlin에서의 그냥 class와 같은 역할인 걸까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. 김한주님.
Java에서 static 키워드는 특정 클래스의 멤버가 클래스 자체에 속하며, 해당 클래스의 모든 인스턴스가 공유하도록 만듭니다. static을 붙인 클래스 또는 메서드는 객체를 생성하지 않고도 호출할 수 있습니다. 보통 유틸리티 클래스나 상수 정의 등에 사용됩니다.
Kotlin에서는 static 키워드가 없으며, 대신에 ‘객체 선언’을 사용합니다. Kotlin의 객체 선언은 싱글톤 패턴을 구현합니다. 또한, Kotlin에서는 companion object를 통해 Java의 static 클래스처럼 동작할 수 있는 영역을 제공합니다. 이를 통해 클래스의 인스턴스 없이도 클래스 함수나 멤버에 접근 가능합니다.
Kotlin에서는 모든 것이 객체 지향을 기반으로 하고 있기 때문에 Java에서의 ‘static’ 개념을 companion object나 object 키워드로 적용하시면 됩니다. 더 구체적인 차이에 대해 알고 싶으시면 아래 관련 질문과 답변을 참고하세요:
위 자료들을 통해 Java와 Kotlin의 static 및 클래스 사용 방식 차이를 이해하는 데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
..
0
76
2
Unused property.....
0
99
2
project JDK is misconfigured
0
132
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
83
2
단위/통합 테스트 버전충돌 문제
0
91
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
230
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
103
2
윈도우 build test오류 질문
1
102
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
99
2
테스트 실행 시 에러 질문
0
291
1
name을 통한 비교와 객체를 통한 비교
0
77
1
빌드 후 libs 없음
1
129
1
윈도우 gradlew.bat 에러
0
167
1
@PostMapping("/members/new")가 동작하지 않습니다
0
88
1
스프링 DB연결
0
126
1
소요 시간
0
85
2
ddl.sql에 빨간 밑줄
1
102
2
welcome page 에러
0
182
3
잘 모르겠습니다.
0
164
2
fail을 똑같이 쳤는데 오류가 발생해요
0
156
2
index.html Welcome page
0
121
1
프로젝트 gradle-groovy ?
0
369
1
테스트코드 메서드명 한글
0
202
2
강의자료 확인 요청
0
79
2

