inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

EventValidator 질문이 있습니다.

미해결

스프링 기반 REST API 개발

안녕하세요. 다름이 아니라 EventValidator 에서 implement Validator 를 쓰는것과 안쓰는것 차이를 잘 모르겠습니다. 감합니다.

  • spring
  • java
  • rest-api
조재연 댓글 1 좋아요 0 조회수 263

설계와 관련해서 질문있습니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요:) 영한님의 강의을 듣다가 궁금한 점이 생겨 질문 남기게 되었습니다. 영한님의 이번 강의에서 설계 단계가 다음과 같이 진행됐습니다. 1. 요구사항을 분석하기. 요구사항을 분석해, 도메인을 나누고 도메인간의 관계를 설정함 그리고 도메인 설계도를 작성. 2. 도메인 설계도를 기반으로 엔티티 설계도 만들기 3. 테이블 설계도 만들기. 여기서 궁금한 점이 생겼습니다. 도메인 설계도를 이용해 테이블 설계도를 먼저 만들고, 엔티티 설계도를 만들어도 되는건가요? 제가 생각하기에는 도메인 설계도를 이용해 테이블 설계도를 만들고, 그 후 테이블에 매핑되는 엔티티들을 만든 뒤 연관관계가 필요하면 연관관계를 만들어주는 식으로 테이블 설계도와 엔티티 설계도를 매핑을 하는게 더 자연스럽다고 생각했습니다. 혹시 엔티티 설계도를 먼저 만든 이유가 있을까요? ---------------------------------------------------------- 제가 생각해본 이유로는 아무래도 엔티티 설계를 먼저하는게 더 객체지향적인 설계가 가능하기 때문인 것 같은데, 혹시 제가 생각한 이유가 맞는건가요?

  • spring-boot
  • spring
  • 웹앱
  • java
  • JPA
방은혁 댓글 1 좋아요 0 조회수 297

User 클래스에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, 강의를 보며 프로젝트 예제 코드를 따라 타이핑 하면서 궁금한 것이 있어 질문드립니다. 아마 '36-메인(Index)' 강의에서 Post 클래스를 사용함에 있어 생겼었떤 궁금증과 동일할 거 같습니다. '회원가입' 처리를 위해 UserController::store 정적 메소드에서 'POST' 방식으로 넘어온 'email', 'password' 데이터를 User 객체의 프로퍼티(멤버변수)로 설정하는 코드를 볼 수 있었습니다. 하지만 실제 User 클래스에서는 가령 public $email, public $password와 같이 프로퍼티(멤버변수)가 선언되어 있지 않았는데요. 이게 어떻게 가능하게 된건지 원리가 궁금합니다. P.S 저는 Java(SpringFramework)도 함께 공부를 진행중에 있습니다.(실무에서 Java, PHP 둘 다 쓰기에...) Java에서 클래스의 성질과 비슷하다라고 생각하니 이번 강의에서 보여주셨던 코드가 동작하는게 이해가 가지 않더라구요. 미리 답변 감사드립니다.

  • PHP7
  • php
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 209

password_verify(string, hash) 함수가 매번 false가 나오는 것에 대한 해결 방법이 궁금합니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, 프로젝트 '인증' 파트에서 로그인 시 입력하게 되는 이메일과 비밀번호를 AuthController, AuthService를 통해 처리하는 것을 확인 할 수 있었습니다. 저는 현재 PHP 8.0.0 버전으로 코딩을 진행하고 있습니다. 다만, AuthService::login 로직에서 password_verify(string, hash)가 항상 false로 결과 값이 반환되는 것을 확인했습니다. 처음에는 예제 코드를 타이핑하는데 오탈자가 있었나 확인해 보았지만 그런 경우는 없었습니다. 이와 동일한 이슈에 대해 찾아보았으나 여러 개 있었고, 그 중 PHP 8 환경에서의 이슈를 다룬 블로그를 발견했습니다. ( https://blog.naver.com/PostView.nhn?blogId=gwi01304&logNo=222269515571 ) PHP 버전 업데이트가 되면서 해당 함수의 동작 방식이 달라진 것인지 알 수 있을까요? 혹시 몰라서 저의 깃헙 레포지토리 URL을 여기에 공유해 드리겠습니다. GitHub URL: https://github.com/painkill2r/php-oop-project ============================================= 추가적으로 password_verify(string, hash) 함수의 동작 원리에 대해 궁금합니다. PHP Manual에서도 내부 동작 원리가 어떻게 되는지는 기재되어 있지 않더라구요. 첫 번째 인자로 주어진 string 값을 내부적으로 password_hash() 함로 암호화(?)하고, 이를 두 번째 인자와 비교하는게 맞을까요?

  • PHP7
  • php
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 371

AuthService::logout 메소드에서 Session 데이터를 비우는 방법에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, '로그아웃' 구현 부분에서 세션을 비우는 처리에 대해 질문드립니다. 만약, 운영중인 사이트를 이용한다고 가정했을 때 아래와 같이 대부분이 로그인 및 로그아웃 절차가 진행된다고 생각합니다. 1. 홈페이지 로그인: 세션에 유저 데이터 생성 2. 홈페이지 이용 3. 브라우저를 닫거나 로그아웃 버튼 클릭: 세션이 완전이 사라지거나, 세션은 있되 세션에서 유저 정보가 비워짐 3번 항목에서 보통 PHP에서 세션을 비울 때(삭제할 때) 아래 두 함수를 쓰는 모습을 볼 수 있었는데요. 1. session_destory() => 전체 세션을 삭제(예로 세션 저장소(파일시스템의 세션 파일 또는 DB의 세션 관리 Table의 세션 데이터)) 2. session_unset() => 세션에서 변수만 삭제(CODE E) $_SESSION = array();) 이 외 세션에서 '유저' 정보만 비우는 경우(CODE EX) $_SESSION['user'] = array();)에는 어떤 경우가 있는지 알 수 있을까요?

  • PHP7
  • php
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 393

DDD와 JPA

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 기존에 nosql위주로 개발을 하다가 mysql 및 JPA를 도입하려고하는 영한님 강의 듣고 있는 개발자입니다. ddd와 연관지어서 jpa의 엔티티 정책에 궁금한 점이 2가지 있는데 (유사한 카테고리) 1. Team 에그리거트와 Member 에그리거트는 간의 경계가 허물어 지는 문제 예를들어서 @Entity class MemberEntity { ... @ManyToOne Team team; ... } 이런식으로 엔티티가 구성 하시던데요 에릭에반스인지 반버논 책인지 기억은 안나는데 Team을 직접 가지기보다는 String team_id;값을 가지는 것이 권장된다고 알고 있고 저는 실무에서 그렇게 사용하고 있었습니다. 제가 업무에서 mysql를 사용하지 않아서 실제 mysql jpa 사용하시는 분들도 실전에서 위처럼 그대로 사용하는지 궁금하네요. JPA식으로 사용하게되면, MemberRepository에서 member 를 조회하면 , TeamRepository를 조회하지 않고도 팀 정보를 가져오게 되는 것인데, 이러면 바운디드 컨텍스가 무너지는 결과를 초래하지 않나 싶습니다. 이부분에 대해서 영한님 의견은 어떠신가요? 2. Entity의 오염 JPA를 쓰다보면 @ManyToOne, Load 정책 등 같은 비즈니스 로직과 무관한 DB종속적인 값들이 Entity에 들어가게되더라고요 DDD에서 말하는 순수 핵심 비즈니스 로직의 Entity만 넣고 쓰고 싶은데, JPA를 활용하게 되면 이게 힘든 부분이죠? JPA Entity를 흔히말하는 DAO처럼 쓰고 별도의 Domain Entity를 만들고 싶은데 이렇게 가능한지 궁금합니다. 대충 JPA내용을 봤을때 이렇게 분리하는게 불가능한 것 같기는한데 실제로 Entity를 어떻게 사용중이신지 궁금합니다.

  • ddd
  • java
  • JPA
log4j 댓글 2 좋아요 0 조회수 752

기본키와 관련하여 질문드릴게요!.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

@Entity @Getter @Setter @NoArgsConstructor (access = AccessLevel. PROTECTED ) public class Bbs { @Id @GeneratedValue (strategy = GenerationType. SEQUENCE ) @Column (name = "BBS_NO" ) private Long bbsNo ; //bbs 기본키 private String bbsTitle ; private String bbsContent ; private String bbsDate ; @ColumnDefault ( "0" ) private Integer bbsHit ; private String bbsNotice ; private String bbsSecret ; @ManyToOne (fetch = FetchType. LAZY ) @JoinColumn (name = "MEMBER_ID" ) private Member member ; @OneToMany (mappedBy = "bbs" ) List<Comment> comments = new ArrayList<>() ; public void addMember (Member member){ this . member =member ; member.getBbs().add( this ) ; } public Bbs (String bbsTitle , String bbsContent , String bbsDate , Integer bbsHit , String bbsNotice , String bbsSecret , Member member) { this . bbsTitle = bbsTitle ; this . bbsContent = bbsContent ; this . bbsDate = bbsDate ; this . bbsHit = bbsHit ; this . bbsNotice = bbsNotice ; this . bbsSecret = bbsSecret ; this . member = member ; } public void updateBbs (Long bbsNo , String bbsTitle , String bbsContent , String bbsDate , Integer bbsHit , String bbsNotice , String bbsSecret) { this . bbsTitle = bbsTitle ; this . bbsContent = bbsContent ; this . bbsDate = bbsDate ; this . bbsNotice = bbsNotice ; this . bbsSecret = bbsSecret ; } } 위에 코드가 bbs기본키 전략이고. @Entity @Getter public class Comment { @Id @GeneratedValue (strategy = GenerationType. SEQUENCE ) @Column (name = "COMMENT_NO" ) private Long commentId ; //comment 기본키 private String content ; @ColumnDefault ( "0" ) private int commentCnt ; // 대댓글시 정렬을 위해 사용 @ColumnDefault ( "0" ) private int commentGroup ; private String Date ; @ColumnDefault ( "0" ) private int commentSequence ; @ColumnDefault ( "0" ) private int level ; @ManyToOne (fetch = FetchType. LAZY ) @JoinColumn (name = "BBS_NO" ) private Bbs bbs ; @ManyToOne (fetch = FetchType. LAZY ) @JoinColumn (name = "MEMBER_ID" ) private Member member ; public Comment () { } public Comment (String content , int commentCnt , int commentGroup , String date) { this . content = content ; this . commentCnt = commentCnt ; this . commentGroup = commentGroup ; this . Date = date ; } public void addMember (Member member){ this . member =member ; member.getComments().add( this ) ; } public void addBbs (Bbs bbs){ this . bbs =bbs ; bbs.getComments().add( this ) ; } } 이게 코맨트(댓글) 기본키 전략입니다. 위에 사진을 보면 bbs_no이랑 commemt_no이랑 기본키가 같이 올라갑니다..... 제가 원하는건 bbs_no 도 1부터 증가하고 comment_no도 1부터 증가하게 하고싶은데 따로 기본키 설정을 해주었는데 왜 같이 올라가는지 잘 모르겠습니다. 강의나,JPA 기본키 전략을 다시 보아도 해결책을 찾이 못해 질문 드립니다.

  • 기본키
  • JPA
  • java
조인태 댓글 1 좋아요 0 조회수 220

'routes/web.php'에서 '/' URL에 대한 라우트 설정 시 처리할 Handler 선언에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요. '/' URL에 대한 라우트 선언 시 궁금한 점이 있어 질문드립니다. 강의 08:45 부분에서 '/' URL을 처리할 Handler로 '\App\Controllers\IndexController::index'와 같이 선언하는 것을 볼 수 있었습니다. IndexController 클래스의 index() 메소드가 정적 메소드로 선언되어 있으므로 '::'를 사용하는 것은 이해가 되었는데요. '괄호()'를 생략했음에도 오류 없이 동작하는 이유에 대해 궁금합니다. '\App\Controllers\IndexController::index()'와 같이 설정한 경우 오히려 에러가 출력되더라구요. 위 문법과 관련한 관련 자료도 있다면 공유 부탁드립니다. 감사합니다.

  • php
  • PHP7
  • oop
  • framework
Henu 댓글 1 좋아요 2 조회수 249

Session을 생성할 때 sessions 테이블 id 컬럼의 값이 어떻게 결정되는지 궁금합니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, Sessions 강의를 듣고 궁궁한 것이 생겨 질문드립니다. 강의 내용에서는 SessionHandlerInterface의 구현체 클래스를 선언하여 사용하는 것으로 보이는데요. index.php의 예제 코드 실행시 처음 생성되는 SESSION 데이터가 있으면 sessions 테이블에 세션 정보가 INSERT 되는 것으로 확인이 되었습니다. 하지만 sessions 테이블의 id 컬럼의 값이 자동으로 들어가지는 것을 확인할 수 있었는데요. 이 id은 PHPSESSID에서 가져오는 것 같은데, 그 과정에 대해 알 수 있을까요?

  • php
  • PHP7
  • oop
  • session
Henu 댓글 2 좋아요 2 조회수 635

라우팅 설정 후 페이지 접속 경로에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, 라우팅 강의를 듣고 난 후 궁금한 점이 생겨 질문드립니다. 예제 코드에서 '/', '/posts/{id}'라는 라우팅을 설정해 주셨는데요. 로컬 환경에서 학습한다는 기준으로 PHP 내장서버를 실행시켜 localhost:8000/index.php, localhost:8000/src/Database/Adaptor.php 등으로 접속했을 때에도 이에 대한 접근 불가 설정을 하지 않았으므로 접근이 허용되는 문제가 있었습니다. 이를 해결 하기 위한... 즉, 개발자가 정의한 URL 패턴 외 .php가 붙은 확장자로는 접근이 불가하게 설정할 수 있는 방법이 있을까요?

  • PHP7
  • oop
  • routing
  • php
Henu 댓글 1 좋아요 1 조회수 247

Composer 설정 후 생성되는 .vendor 및 composer.json, composer.lock.json에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, Composer 강의를 학습하던 중 예제 코드들을 Git에 형상관리를 하려고 합니다. 다만, Composer 설정 후 생성되는 .vender 폴더, composer.json, composer.lock.json 파일의 경우 Git으로 형상관리를 시키는게 맞는지, 아니면 이들은 Ignore 설정을 통해 형상관리에서 제외시키는게 맞는지 궁금합니다.

  • oop
  • PHP7
  • php
  • composer
Henu 댓글 1 좋아요 1 조회수 586

9.격자판 최대합문제 질문있습니다.

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

answer = Math.max(answer,sum1); answer = Math.max(answer,sum1); //두 부분중 위쪽 코드에서 answer = Math.max(,sum1,sum2); 이렇게 한번에 사용하면 왜 에러가 뜨나요?? ㅁanswer에 sum1,sum2중 최대가 들어간다고 생각했는데 intellij에서는 실행이되는데 채점사이트에서는 안됩니다. 단순 채점사이트에서만 에러인지 이렇게 사용하면 안돼는건지 궁금합니다

  • java
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 317

스프링 책 추천

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요.! 김영한강사님 로드맵을 따라가려고 합니다. jpa로드맵 말고, '스프링 완전정복' 로드맵을 따라가려고 합니다. 혹시 강의와 같이 볼만한 책을 추천해주실 수 있나요?

  • spring
  • java
  • MVC
  • spring-boot
깨위 댓글 1 좋아요 0 조회수 1451

질문입니다.

미해결

윤재성의 만들면서 배우는 Spring MVC 5

혼자 해결해보려다 답이 안나와서 질문드립니다. <c:forEach /> 사용하여 top_menu 의 게시판 링크를 작성하는 부분에서 ${topMenuList} 가 제대로 동작하지 않는 것 같습니다. 게시판 이름별로 링크가 생성되지 않고 ,${obj.board_info_name} 만 화면에 출력됩니다. 어느 부분에서 놓치고 있는 건지 모르겠습니다.

  • 질문
  • mvc
  • java
  • spring
  • xml
댓글 1 좋아요 0 조회수 234

api 명세는 어떤 도구를 사용하시나요 ?

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

api를 작성하게되면, api를 쓰는 쪽을 위한 명세가 필요한데, 이 부분은 실무에서 주로 어떤 도구를 사용하시나요 ? 제가 알아본 것은 swagger인데, 함수에서 작성을 하면 어노테이션이 너무 길어져서 실제로도 사용하는지가 궁금합니다.

  • spring-boot
  • JPA
  • spring
  • java
ceze 댓글 1 좋아요 0 조회수 889

member table inset 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MEMBERS 에 insert 하려고하는데 아래와 같은 오류가 발생합니다. 실행하고자 하는 코드 : insert into member(name) values("spring") 오류 코드 Column "spring" not found; SQL statement: insert into member(name) values("spring") [42122-200] 42S22/42122 (도움말) org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "spring" not found; SQL statement: insert into member(name) values("spring") [42122-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:453 ) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429 ) at org.h2.message.DbException.get(DbException.java:205 ) at org.h2.message.DbException.get(DbException.java:181 ) at org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:163 ) at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:145 ) at org.h2.command.dml.Insert.prepare(Insert.java:327 ) at org.h2.command.Parser.prepareCommand(Parser.java:744 ) at org.h2.engine.Session.prepareLocal(Session.java:657 ) at org.h2.engine.Session.prepareCommand(Session.java:595 ) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1235 ) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:212 ) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:201 ) at org.h2.server.web.WebApp.getResult(WebApp.java:1459 ) at org.h2.server.web.WebApp.query(WebApp.java:1116 ) at org.h2.server.web.WebApp$1.next(WebApp.java:1078 ) at org.h2.server.web.WebApp$1.next(WebApp.java:1065 ) at org.h2.server.web.WebThread.process(WebThread.java:178 ) at org.h2.server.web.WebThread.run(WebThread.java:94 ) at java.base/java.lang.Thread.run(Thread.java:834) test.mv도 읽기전용이 아닌것을 확인했습니다. 왜 이런 오류가 발생하고.. insert가 안될까요?

  • java
  • spring-boot
  • MVC
  • spring
깨위 댓글 4 좋아요 2 조회수 1128

해결법 - The type org.springframework.context.ConfigurableApplicationContext cannot be resolved.

미해결

자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌

The type org.springframework.context.ConfigurableApplicationContext cannot be resolved. 이 에러를 많이들 맞이하시는것 같은데,, https://gocoder.tistory.com/721 이곳을 보니 .m2 > repository 를 지우고 maven 업데이트를 다시 하라고 합니다. 이렇게 하니 전 해결되었습니다.

  • spring
  • java
조창희 댓글 0 좋아요 0 조회수 1396

Result 클래스 관련 질문입니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

Result 클래스를 만들어서 response 데이터를 보냈습니다. 이때 제너릭으로 설정하신 이유가 있나요? 현재 아래 코드가 이런식입니다. static class Result<T> { private T data; } 그런데 제너릭을 쓰지 않는 반환용 DTO를 만들어서 static class ResultDto{ private List<OrderDto> orderDtos } 이렇게 하지 않는 이유가 있나요? 보통 실무에서는 어떤 방식을 주로 사용하시나요? 감사합니다.

  • java
  • JPA
  • spring-boot
  • spring
asdf5184 댓글 1 좋아요 2 조회수 971

openjdk-17 다운로드 후 Sources에서 Language level

해결됨

코딩으로 학습하는 리팩토링

안녕하세요. 프로젝트 설정 문의드려요~ 제목에 적은거 처럼 openjdk-17다운로드 후 Apply 누른 다음 Language level에 17버전이 보이지 않는데 어떻게 해야되나요??...

  • intellij
  • java
  • refactoring
얄라차개발자 댓글 2 좋아요 0 조회수 1304

싱글톤 생성 방법 중 enum 단점에 대해 질문있습니다.

미해결

코딩으로 학습하는 GoF의 디자인 패턴

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 우선 이런 좋은 강의를 제공해주셔서 정말 감사합니다. 싱글톤 생성 방법 중 enum으로 생성했을 시에 단점 중에 lazy initialization이 안된다고 말씀하셨는데요, 이 부분에서 궁금증이 있어서 질문 남깁니다. 예제에서 보여주신 enum 내의 INSTANCE 또한 클래스로딩 시점에 JVM의 static 영역에 변수가 등록되고, SettingsHolder와 마찬가지로 호출시점에 힙영역이 할당되면서 그때, static 영역내 변수에 해당 힙주소가 참조되는것으로 알고 있습니다, 그렇다면 이 부분도 lazy initialization이라고 볼 수 있는것 아닌가요? 혹시 제가 잘못알고 있는 부분이 있다면 알려주시면 감사하겠습니다 ㅜ

  • enum
  • 싱글톤
  • 디자인-패턴
  • java
  • 단점
김현우 댓글 2 좋아요 2 조회수 843

인기 태그

인프런 TOP Writers

주간 인기글