ewhk9887/korean_code_reviews_from_github huggingface dataset:
@@ -0,0 +1,85 @@
+* {
+  box-sizing: border-box;
+}
+
+.loginContainer {
+  border: 2px solid #e6e6e6;
+  width: 350px;
+  height: 380px;
+  margin: 0 auto;
+  .logoName {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 100%;
+      h1 {
+          font-family: "Lobster", cursive;
+          width: 175px;
+          height: 52px;
+          text-align: center;
+          padding-top: 6px;
+      }
+  }
+  .loginInfo {
+      height: 213px;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      padding-top: 10px;
+      .loginId {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }
+      .loginPs {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }    
+      .loginBt {
+        width: 268px;
+        height: 30px;
+        margin-top: 5px;
+        border-radius: 3px;
+        background-color: #2795f6;
+        color: #ffffff;
+        border-style: none;
+        
+        &:focus {
+            outline: none;
+        }
+        
+        &:disabled {
+             background-color: #b2dffc;
+         }
+    }
+  }
+  .forgetPassword{
+      display: flex;
+      justify-content: center;
+      margin-top: 20px;
+      a {
+          color: #043569; text-decoration: none;
+      }
+  }
+  
+  
+}

리뷰: - 하나의 요소에 여러가지 속성을 부여하는 경우 중요도, 관련도에 따라서 나름의 convention을 지켜서 작성하는 것이 좋습니다.
- 일반적인 convention 은 아래와 같습니다. 아래와 같이 순서 적용해주세요.

[CSS property 순서]

- Layout Properties (position, float, clear, display)
- Box Model Properties (width, height, margin, padding)
- Visual Properties (color, background, border, box-shadow)
- Typography Properties (font-size, font-family, text-align, text-transform)
- Misc Properties (cursor, overflow, z-index)
@@ -3,7 +3,10 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <title>React App</title>
+    <meta name="description" content="Web site created using create-react-app"/>
+    <link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
+    <title>Westagram</title>
   </head>
   <body>
     <div id="root"></div>

리뷰: meta 태그의 종류가 많기 대문에 어떤 데이터인지 명시하는 차원에서는 있는 것이 좋을 것 같습니다!
@@ -3,7 +3,10 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <title>React App</title>
+    <meta name="description" content="Web site created using create-react-app"/>
+    <link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
+    <title>Westagram</title>
   </head>
   <body>
     <div id="root"></div>

리뷰: 불필요한 엔터 처리는 삭제해주세요!
@@ -0,0 +1,50 @@
+import React from 'react';
+import { withRouter } from 'react-router-dom';
+import './Login.scss';
+
+
+class LoginJaeyoung  extends React.Component {
+    constructor () {
+        super();
+        this.state = {
+            id: '',
+            pw : '',
+        };
+    }
+
+    handleInput = (e) => {
+        const { name,value} = e.target;
+        this.setState({
+            [name]: value
+        })
+    }
+    
+    goToMain = () => {
+        this.props.history.push('/main-jaeyoung')
+    }
+
+
+    render () {
+        const { handleInput } = this
+        const isBtnAble = this.state.id.includes('@') && this.state.pw.length >= 5;
+
+
+        return (
+            <div className="loginContainer">
+                <div className="logoName">
+                    <h1>Instargram</h1>
+                </div>
+                <div className="loginInfo">
+                    <input type="text" name="id" onChange={handleInput} className="loginId" placeholder="전화번호, 사용자 이름 또는 이메일" />
+                    <input type="password" name="pw" onChange={handleInput} className="loginPs" placeholder="비밀번호"/>
+                    <button className="loginBt" onClick={this.goToMain} disabled={!isBtnAble}>로그인</button>
+                </div>
+                <div className="forgetPassword">
+                    <a href="https://www.naver.com/">비밀번호를 잊으셨나요?</a>
+                </div>
+            </div>
+        )
+    }
+}
+
+export default withRouter( LoginJaeyoung );
\ No newline at end of file

리뷰: Import 순서 수정해주세요! 일반적인 convention을 따르는 이유도 있지만 순서만 잘 지켜주셔도 가독성이 좋아집니다. 아래 순서 참고해주세요.

- React → Library(Package) → Component → 변수 / 이미지 → css 파일(scss 파일)
@@ -0,0 +1,50 @@
+import React from 'react';
+import { withRouter } from 'react-router-dom';
+import './Login.scss';
+
+
+class LoginJaeyoung  extends React.Component {
+    constructor () {
+        super();
+        this.state = {
+            id: '',
+            pw : '',
+        };
+    }
+
+    handleInput = (e) => {
+        const { name,value} = e.target;
+        this.setState({
+            [name]: value
+        })
+    }
+    
+    goToMain = () => {
+        this.props.history.push('/main-jaeyoung')
+    }
+
+
+    render () {
+        const { handleInput } = this
+        const isBtnAble = this.state.id.includes('@') && this.state.pw.length >= 5;
+
+
+        return (
+            <div className="loginContainer">
+                <div className="logoName">
+                    <h1>Instargram</h1>
+                </div>
+                <div className="loginInfo">
+                    <input type="text" name="id" onChange={handleInput} className="loginId" placeholder="전화번호, 사용자 이름 또는 이메일" />
+                    <input type="password" name="pw" onChange={handleInput} className="loginPs" placeholder="비밀번호"/>
+                    <button className="loginBt" onClick={this.goToMain} disabled={!isBtnAble}>로그인</button>
+                </div>
+                <div className="forgetPassword">
+                    <a href="https://www.naver.com/">비밀번호를 잊으셨나요?</a>
+                </div>
+            </div>
+        )
+    }
+}
+
+export default withRouter( LoginJaeyoung );
\ No newline at end of file

리뷰: ```js
// render 아래에서
const isBtnAble = idValue.includes('@') && psValue.length > 5;

<button disabled={!isBtnAble} />
```
- 이런식으로 변수를 활용하면 좀 더 깔끔해질 수 있겠네요!
- Boolean 데이터를 사용하는 경우에는 굳이 true, false 표시해줄 필요 없습니다! (삼항 연산자 조건에 해당되는 부분이 이미 t/f 값을 갖기 때문에)
@@ -0,0 +1,85 @@
+* {
+  box-sizing: border-box;
+}
+
+.loginContainer {
+  border: 2px solid #e6e6e6;
+  width: 350px;
+  height: 380px;
+  margin: 0 auto;
+  .logoName {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 100%;
+      h1 {
+          font-family: "Lobster", cursive;
+          width: 175px;
+          height: 52px;
+          text-align: center;
+          padding-top: 6px;
+      }
+  }
+  .loginInfo {
+      height: 213px;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      padding-top: 10px;
+      .loginId {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }
+      .loginPs {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }    
+      .loginBt {
+        width: 268px;
+        height: 30px;
+        margin-top: 5px;
+        border-radius: 3px;
+        background-color: #2795f6;
+        color: #ffffff;
+        border-style: none;
+        
+        &:focus {
+            outline: none;
+        }
+        
+        &:disabled {
+             background-color: #b2dffc;
+         }
+    }
+  }
+  .forgetPassword{
+      display: flex;
+      justify-content: center;
+      margin-top: 20px;
+      a {
+          color: #043569; text-decoration: none;
+      }
+  }
+  
+  
+}

리뷰: 가독성을 위해 selector 사이에 한 줄 띄워주시면 좋습니다.
@@ -0,0 +1,85 @@
+* {
+  box-sizing: border-box;
+}
+
+.loginContainer {
+  border: 2px solid #e6e6e6;
+  width: 350px;
+  height: 380px;
+  margin: 0 auto;
+  .logoName {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 100%;
+      h1 {
+          font-family: "Lobster", cursive;
+          width: 175px;
+          height: 52px;
+          text-align: center;
+          padding-top: 6px;
+      }
+  }
+  .loginInfo {
+      height: 213px;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      padding-top: 10px;
+      .loginId {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }
+      .loginPs {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }    
+      .loginBt {
+        width: 268px;
+        height: 30px;
+        margin-top: 5px;
+        border-radius: 3px;
+        background-color: #2795f6;
+        color: #ffffff;
+        border-style: none;
+        
+        &:focus {
+            outline: none;
+        }
+        
+        &:disabled {
+             background-color: #b2dffc;
+         }
+    }
+  }
+  .forgetPassword{
+      display: flex;
+      justify-content: center;
+      margin-top: 20px;
+      a {
+          color: #043569; text-decoration: none;
+      }
+  }
+  
+  
+}

리뷰: 공통되는 속성이 많이 보이네요! 줄여봅시다 🙌 하나의 요소에 복수의 className을 부여할 수 있습니다.
@@ -0,0 +1,17 @@
+import React from 'react';
+import './CommentComponent.scss';
+
+class CommentComponent extends React.Component {
+  render() {
+    const { key, name, comment} = this.props
+    return (
+        <li className="CommentComponent">
+          {key}
+          <strong>{name}</strong>
+          {comment}
+        </li>
+    )
+  }
+}
+
+export default CommentComponent;
\ No newline at end of file

리뷰: commentList는 ul 태그를 의미하는 것 같아서 props 이름을 comment로 하는게 좋을 것 같습니다.
@@ -0,0 +1,85 @@
+* {
+  box-sizing: border-box;
+}
+
+.loginContainer {
+  border: 2px solid #e6e6e6;
+  width: 350px;
+  height: 380px;
+  margin: 0 auto;
+  .logoName {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 100%;
+      h1 {
+          font-family: "Lobster", cursive;
+          width: 175px;
+          height: 52px;
+          text-align: center;
+          padding-top: 6px;
+      }
+  }
+  .loginInfo {
+      height: 213px;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      padding-top: 10px;
+      .loginId {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }
+      .loginPs {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }    
+      .loginBt {
+        width: 268px;
+        height: 30px;
+        margin-top: 5px;
+        border-radius: 3px;
+        background-color: #2795f6;
+        color: #ffffff;
+        border-style: none;
+        
+        &:focus {
+            outline: none;
+        }
+        
+        &:disabled {
+             background-color: #b2dffc;
+         }
+    }
+  }
+  .forgetPassword{
+      display: flex;
+      justify-content: center;
+      margin-top: 20px;
+      a {
+          color: #043569; text-decoration: none;
+      }
+  }
+  
+  
+}

리뷰: 넵! 알겠습니다!
@@ -3,7 +3,10 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <title>React App</title>
+    <meta name="description" content="Web site created using create-react-app"/>
+    <link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
+    <title>Westagram</title>
   </head>
   <body>
     <div id="root"></div>

리뷰: 삭제했습니다! 감사합니다
@@ -0,0 +1,50 @@
+import React from 'react';
+import { withRouter } from 'react-router-dom';
+import './Login.scss';
+
+
+class LoginJaeyoung  extends React.Component {
+    constructor () {
+        super();
+        this.state = {
+            id: '',
+            pw : '',
+        };
+    }
+
+    handleInput = (e) => {
+        const { name,value} = e.target;
+        this.setState({
+            [name]: value
+        })
+    }
+    
+    goToMain = () => {
+        this.props.history.push('/main-jaeyoung')
+    }
+
+
+    render () {
+        const { handleInput } = this
+        const isBtnAble = this.state.id.includes('@') && this.state.pw.length >= 5;
+
+
+        return (
+            <div className="loginContainer">
+                <div className="logoName">
+                    <h1>Instargram</h1>
+                </div>
+                <div className="loginInfo">
+                    <input type="text" name="id" onChange={handleInput} className="loginId" placeholder="전화번호, 사용자 이름 또는 이메일" />
+                    <input type="password" name="pw" onChange={handleInput} className="loginPs" placeholder="비밀번호"/>
+                    <button className="loginBt" onClick={this.goToMain} disabled={!isBtnAble}>로그인</button>
+                </div>
+                <div className="forgetPassword">
+                    <a href="https://www.naver.com/">비밀번호를 잊으셨나요?</a>
+                </div>
+            </div>
+        )
+    }
+}
+
+export default withRouter( LoginJaeyoung );
\ No newline at end of file

리뷰: 수정했습니다!
@@ -0,0 +1,50 @@
+import React from 'react';
+import { withRouter } from 'react-router-dom';
+import './Login.scss';
+
+
+class LoginJaeyoung  extends React.Component {
+    constructor () {
+        super();
+        this.state = {
+            id: '',
+            pw : '',
+        };
+    }
+
+    handleInput = (e) => {
+        const { name,value} = e.target;
+        this.setState({
+            [name]: value
+        })
+    }
+    
+    goToMain = () => {
+        this.props.history.push('/main-jaeyoung')
+    }
+
+
+    render () {
+        const { handleInput } = this
+        const isBtnAble = this.state.id.includes('@') && this.state.pw.length >= 5;
+
+
+        return (
+            <div className="loginContainer">
+                <div className="logoName">
+                    <h1>Instargram</h1>
+                </div>
+                <div className="loginInfo">
+                    <input type="text" name="id" onChange={handleInput} className="loginId" placeholder="전화번호, 사용자 이름 또는 이메일" />
+                    <input type="password" name="pw" onChange={handleInput} className="loginPs" placeholder="비밀번호"/>
+                    <button className="loginBt" onClick={this.goToMain} disabled={!isBtnAble}>로그인</button>
+                </div>
+                <div className="forgetPassword">
+                    <a href="https://www.naver.com/">비밀번호를 잊으셨나요?</a>
+                </div>
+            </div>
+        )
+    }
+}
+
+export default withRouter( LoginJaeyoung );
\ No newline at end of file

리뷰: 와...수정했습니다!
@@ -0,0 +1,85 @@
+* {
+  box-sizing: border-box;
+}
+
+.loginContainer {
+  border: 2px solid #e6e6e6;
+  width: 350px;
+  height: 380px;
+  margin: 0 auto;
+  .logoName {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 100%;
+      h1 {
+          font-family: "Lobster", cursive;
+          width: 175px;
+          height: 52px;
+          text-align: center;
+          padding-top: 6px;
+      }
+  }
+  .loginInfo {
+      height: 213px;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      padding-top: 10px;
+      .loginId {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }
+      .loginPs {
+          width: 268px;
+          height: 38px;
+          margin-bottom: 5px;
+          padding-left: 10px;
+          border-radius: 3px;
+          border: 1px solid #efefef;
+          background: #fafafa;
+          color: #9c9c9c;
+          font-size: 14px;
+          &:focus {
+              outline-color: gray;
+            }
+      }    
+      .loginBt {
+        width: 268px;
+        height: 30px;
+        margin-top: 5px;
+        border-radius: 3px;
+        background-color: #2795f6;
+        color: #ffffff;
+        border-style: none;
+        
+        &:focus {
+            outline: none;
+        }
+        
+        &:disabled {
+             background-color: #b2dffc;
+         }
+    }
+  }
+  .forgetPassword{
+      display: flex;
+      justify-content: center;
+      margin-top: 20px;
+      a {
+          color: #043569; text-decoration: none;
+      }
+  }
+  
+  
+}

리뷰: 수정했습니다! 감사합니당
@@ -0,0 +1,50 @@
+package christmas.domain;
+
+public enum Calendar {
+    WEEKEND(1, 2, 8, 9, 15, 16, 22, 23, 29, 30),
+    WEEKDAY(3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 31),
+    SPECIAL_DAY(3, 10, 17, 24, 25, 31);
+
+    private final int[] days;
+
+    Calendar(int... days) {
+        this.days = days;
+    }
+
+    public int[] getDays() {
+        return days;
+    }
+
+    public static boolean isWeekday(int date) {
+        for (Calendar calendar : values()) {
+            for (int weekday : calendar.getDays()) {
+                if (weekday == date && calendar == WEEKDAY) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public static boolean isWeekend(int date) {
+        for (Calendar calendar : values()) {
+            for (int weekend : calendar.getDays()) {
+                if (weekend == date && calendar == WEEKEND) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public static boolean isSpecialDay(int date) {
+        for (Calendar calendar : values()) {
+            for (int specialDay : calendar.getDays()) {
+                if (specialDay == date && calendar == SPECIAL_DAY) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+}

리뷰: 날짜 관련된 로직은 `LocalDate`와 `DayOfWeek`를 적용하면 훨씬 간결하게 코드를 작성할 수 있습니다!!
@@ -0,0 +1,50 @@
+package christmas.domain;
+
+public enum Calendar {
+    WEEKEND(1, 2, 8, 9, 15, 16, 22, 23, 29, 30),
+    WEEKDAY(3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 31),
+    SPECIAL_DAY(3, 10, 17, 24, 25, 31);
+
+    private final int[] days;
+
+    Calendar(int... days) {
+        this.days = days;
+    }
+
+    public int[] getDays() {
+        return days;
+    }
+
+    public static boolean isWeekday(int date) {
+        for (Calendar calendar : values()) {
+            for (int weekday : calendar.getDays()) {
+                if (weekday == date && calendar == WEEKDAY) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public static boolean isWeekend(int date) {
+        for (Calendar calendar : values()) {
+            for (int weekend : calendar.getDays()) {
+                if (weekend == date && calendar == WEEKEND) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public static boolean isSpecialDay(int date) {
+        for (Calendar calendar : values()) {
+            for (int specialDay : calendar.getDays()) {
+                if (specialDay == date && calendar == SPECIAL_DAY) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+}

리뷰: 해당 로직은 depth가 3이기에 적절한 메서드 추출, 또는 리팩토링이 필요할 것 같은데요.

주말을 확인하기 위해서 모든 `Calandar`의 `enum` 상수를 탐색할 필요는 없을 것 같습니다.
또한, 스트림을 사용한다면 때론 체인들로 각각의 단계가 구분되기에 가독성이 좋아지기도 하니 스트림을 적극 활용하시면 더 좋을 것 같습니다!
```suggestion
        return Arrays.stream(WEEKEND.days)
                .anyMatch(day -> day == date);
```
@@ -0,0 +1,37 @@
+package christmas.domain;
+
+import java.util.Arrays;
+
+public enum Menu {
+    양송이수프(6_000), 타파스(5_500), 시저샐러드(8_000),
+    티본스테이크(55_000), 바비큐립(54_000), 해산물파스타(35_000), 크리스마스파스타(25_000),
+    초코케이크(15_000), 아이스크림(5_000),
+    제로콜라(3_000), 레드와인(60_000), 샴페인(25_000);
+
+    private final int price;
+
+    Menu(int price) {
+        this.price = price;
+    }
+
+    public int getPrice() {
+        return price;
+    }
+
+    public boolean isBeverage() {
+        return this == 제로콜라 || this == 레드와인 || this == 샴페인;
+    }
+
+    public boolean isDessert() {
+        return this == 초코케이크 || this == 아이스크림;
+    }
+
+    public boolean isMain() {
+        return this == 티본스테이크 || this == 바비큐립 || this == 해산물파스타 || this == 크리스마스파스타;
+    }
+
+    public static boolean contains(String itemName) {
+        return Arrays.stream(Menu.values())
+                .anyMatch(menu -> menu.name().equalsIgnoreCase(itemName));
+    }
+}

리뷰: 이 경우 메뉴의 추가 및 변경이 있을 때 마다 메서드 로직의 변경 또한 함께 발생해야 하는데요.

각 메뉴의 정보가 메뉴 타입을 함께 저장하고 있거나, 메뉴 타입이 리스트 형식으로 메뉴들을 저장하고 있도록 하면 `public boolean isTypeOf(MenuType expectedType)`과 같은 메서드 하나만 제공해 주는 것으로 변화에 쉽게 대응할 수가 있어요!
@@ -0,0 +1,24 @@
+package christmas.domain;
+
+public enum DiscountType {
+    MIN_EVENT_CONDITION(10000),
+    CHAMPAGNE_CONDITION(120000),
+    CHAMPAGNE(25000),
+    SERVICE_MENU_CONDITION(1),
+    DDAY_CONDITION(25),
+    BASE_AMOUNT(900),
+    DAY_BONUS(100),
+    SPECIALDAY_CONDITION(2023),
+    INIT_COUNT(0),
+    SPECIAL_DISCOUNT(1000);
+
+    private final int type;
+
+    DiscountType(int type) {
+        this.type = type;
+    }
+
+    public int getType() {
+        return type;
+    }
+}

리뷰: 숫자의 자리수가 많아진다면 _ 으로 자리수 구분이 가능합니다!
```suggestion
    CHAMPAGNE_CONDITION(120_000),
```