hotfirebulldog7568
@hotfirebulldog7568
Reviews Written
6
Average Rating
5.0
Posts
Q&A
[58. ์ธ๋ฑ์ค์ ์ ๋ ฌ]์ ๋ฃ๋ค๊ฐ ์ง๋ฌธ์ ๋๋ค.
์๋ต:๋ฐ๋ก ๋ค์ ๋จ์์์ ๋์ต๋๋ค.
- 0
- 2
- 71
Q&A
ํด์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ ์ฅ ํ๊ท ์๊ฐ ๋ณต์ก๋์ ๋ํด ์ง๋ฌธ
์๋ต๊ฐ์ ํด์ ์๊ณ ๋ฆฌ์ฆ6 - ํด์ ์ถฉ๋ ๊ตฌํ 15:02 ๋ถ๋ถ์์ ์ด๋ฏธ ์ค๋ช ํ ๋ด์ฉ. ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋๋ฐ O(n)์ ์๊ฐ ๋ณต์ก๋๊ฐ ์์.๊ทธ๋ฌ๋, ํด์ ์ถฉ๋์ด ๋ฐ์ํ์ง ์๋ ์ํฉ์ ๊ฒฐ๊ตญ ๊ฐ bucket์ ๋ฐ์ดํฐ๊ฐ 0๊ฐ๋ 1๊ฐ ๋ค์ด์๋ ๊ฑฐ๊ธฐ๋๋ฌธ์ contains(..)๊ฐ O(1)์ ์๊ฐ ๋ณต์ก๋๋ก ์์๋๋ค. ๋ฐ๋ผ์, ํด์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ ์ฅ์ ํ ๋ ํ๊ท ์๊ฐ ๋ณต์ก๋๊ฐ O(1)์ด๋ผ ํ ์ ์๋ค.๊ดํ ์๋๊ฐ๊ฒ ํด์ ์ฃ์กํฉ๋๋ค.
- 0
- 2
- 60
Q&A
private ์ธ๋ฐ static ์ ๋ถ์ธ์ด์
์๋ ํ์ธ์. ๋น๊ณต์ ์ํฌํฐ์ฆ ์ํ์ค์ ๋๋ค.NetworkMessage๊ฐ ํด๋์ค๋ผ๊ณ ์๊ฐ์ด ๋ค์ด ์กฐ๊ธ ํท๊ฐ๋ฆฌ์ค ์ ์์์ ๊ฑฐ ๊ฐ์ต๋๋ค. ์ด๊ฑธ ๋ฉ์๋๋ผ๊ณ ์๊ฐํด๋ณผ๊น์?๋ณดํต ๋ฉ์๋๋ฅผ ์์ฑํ ๋, ์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ static์ผ๋ก ์ ์ธํ์ง ์๊ณ , ๋ฐ๋๋ก ์ธ์คํด์ค ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์์ ๋ static์ผ๋ก ์ ์ธํฉ๋๋ค. ์ฆ, ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฐ์ฒด๋ค์ด ๋๊ฐ์ด ํ๋ํ ์ ์์ด static์ผ๋ก ํจ์จ์ ๋์ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ด Network ํด๋์ค์์์ ์ธ์คํด์ค ๋ณ์๊ฐ ์๊ณ , NetworkMessage์์ ์ฌ์ฉํ์ง๋ ์๊ธฐ ๋๋ฌธ์ static์ผ๋ก ์ ์ธํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
- 0
- 2
- 302
Q&A
ํด๋์ค ์ ๊ทผ์ ์ด์
์๋ ํ์ธ์. ๋น๊ณต์ ์ํฌํฐ ์ํ์ค์ ๋๋ค.hxhxhx๋๊ป์ ๋ง์ํ์ ํด๋์ค ์ ๊ทผ์ ์ด์๋ public, default๊ฐ ๋ง์ต๋๋ค. package๋ ๋ฒจ์์ ํ ๋ฒ ์๊ฐํด๋ณผ๊น์? ๊ทธ๋ฌ๋ฉด ๋๊ฐ์ง์ ๊ฒฝ์ฐ๋ง ํ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ด์. (package ์์์๋ง ์ธ ์ ์๋ ๊ฒฝ์ฐ, package์ํ์์ ์ธ ์ ์๋ ๊ฒฝ์ฐ) ์ด์ ๋ฐ๋ผ default, public์ผ๋ก ๋๋๊ฒ๋๋ค.๊ทธ๋ ๋ค๋ฉด ์ด nested class๋ผ๋ ๊ฒ์ class(์ ํํ๋ top-level class)์์ ๋ง์น ๋ณ์์ฒ๋ผ ์ฌ์ฉ์ ํ ๋๋ ๊ตฌ๋ถ์ ์ด๋ป๊ฒ ํ ์ ์์๊น์? ๋ชจ๋ ๋ฒ์, ๊ฐ์ package ์, ๊ฐ์ class ์ ์ด๋ ๊ฒ 3๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋ ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ ๋ชจ๋ ๋ฒ์ -> public๊ฐ์ package -> default๊ฐ์ class -> private ๋ก ๋๋ ์ ์๊ฒ ๋ฉ๋๋ค.์ ๊ทผ ์ ์ด์๊ฐ ์ด๋ค ์ญํ ์ ํ๋๊ฑด์ง์ ๋ฐ๋ผ ๋๋์ด์ง๋ค๋๊ฒ ํคํฌ์ธํธ์ธ ๊ฑฐ ๊ฐ์ต๋๋ค.
- 0
- 2
- 111
Q&A
์น์ 5 - 3(ํ์ ์์ ์ด๊ฑฐํ ํจํด) if ๋ฌธ๋์ ๊ฐ์ ๋ switch ๋ฌธ์ผ๋ก ๋ณ๊ฒฝ
์๋ ํ์ธ์. ๋น๊ณต์ ์ํฌํฐ์ฆ ์ํ์ค์ ๋๋ค. ๋น๋๊ท๋์ฒ๋ผ ์ฝ๋๋ณ๊ฒฝํด๋ณด๋๊ฑฐ ์ ๋ ์ข์ํฉ๋๋ค. ์๋ง Constant expression required ๊ณผ ๊ฐ์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ๊ฒฌ๋์๊ฒ ์ฃ ? ์ด๋ ๊ฒ ๋๋ ทํ๊ฒ ํค์๋๋ค์ด ๋์ค๋ฉด ์ ๋ ๊ณต์๋ฌธ์๋ ์คํ์ผ๋ก ํ ๋ฒ ํ์ธํด๋ด์. (๋ฉ์์์์. ใ ใ )https://docs.oracle.com/javase/specs/jls/se23/html/jls-14.html#jls-SwitchLabel๋ค์ด๊ฐ๋ณด๋ฉด ๋ฐ๋ก ๋ค์ ๋ฌธ๊ตฌ๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.> Every case constant must be either a constant expression (ยง15.29), or the name of an enum constant (ยง8.9.1), otherwise a compile-time error occurs.๋ฐ๋ฒ์ญ ํด๋ณธ๋ค๋ฉด, '๋ชจ๋ case constant ๋ constant expression ์ด๊ฑฐ๋ enum ์์์ ์ด๋ฆ์ด์ด์ผ ํ๊ณ ๋ค๋ฅธ ๊ฒ๋ค์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.' ๋ผ๊ณ ํฉ๋๋ค. ์ ๋ฆฌํด๋ณธ๋ค๋ฉด, case๋ฌธ ์์ ์์๋ 1. constant expression: ๋ณดํต final static ์ผ๋ก ์ ์ธ๋ ์์๋ฅผ ๋งํฉ๋๋ค.2. enum ๊ฐ์ฒด ์์ฒด(์๋ง Java 17๋ถํฐ ๊ฐ๋ฅ)์ด ๋๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์ ์ธ๋ ์ ์์ต๋๋ค. ํ์ง๋ง, ClassGrade.BASIC ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ final static์ผ๋ก ์ ์ธ๋ ์์(primitive type ํน์ String)๊ฐ ์๋๋ผ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ํ์ฉ์ด ์๋ฉ๋๋ค.
- 0
- 2
- 404
Q&A
์ค๋ฒ๋ผ์ด๋ฉ ๋ ผ๋ฆฌ๋ฅผ ๋ค์ ์ค๋ช ํด์ฃผ์ธ์.
์ด ์ํฉ์ Parent๋ฅผ ์์๋ฐ์ Child๋ผ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ, ํ์ฌ Parent,Child ๋ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ์ํฉ์ด๋ฉฐ, poly๋ฅผ ๋ถ๋ชจ ๋ณ์๋ก ์ ์ธํ์์ต๋๋ค. ๋ถ๋ชจ๋ ์์์ ๋ํด ์ ์ ์๋ค๋ผ๋ ๋ ผ๋ฆฌ์ ๋ฐ๋ผ Child๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ด๋ ๋ถ๋ชจ Parent๋ Child์ ์ ์ธ๋ ๋ฉ์๋์ ํ๋๋ฅผ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด ์ํ๋์ ์ค๋ช ์ธ ๊ฒ ๊ฐ์ต๋๋ค.์ด ๋ถ๋ถ ๋จผ์ ์กฐ๊ธ ์์ ํด๋ด๋ ๊ด์ฐฎ์๊น์?Parent poly = new Child();1. new ์ฐ์ฐ์์ ์ํด Child ์ธ์คํด์ค๊ฐ ๋ฑ ํ๋๊ฐ ํ์ ์์ฑ(ํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ)๋ฉ๋๋ค. ์ด Child ์ธ์คํด์ค๋ Parent๋ฅผ ์์๋ฐ์์ผ๋ฏ๋ก Parent, Childํด๋์ค์ ๊ตฌ์กฐ๋ฅผ ํฌํจํ๊ณ ์์ง์.2. Parent ํ์ ์ ์ฐธ์กฐ ๋ณ์ poly๊ฐ main stack frame์ ์์ฑ(๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ)๋๊ณ ์ด ์ธ์คํด์ค์ ํ ๋น๋ฉ๋๋ค.poly.value๋ณ์๋ ๊น๋ํ๋์ ์ง๋ฌธ ์๋์ ๊ฐ์ด Parent ํ์ ์ ๊ธฐ์ค์ผ๋ก ๋์ํฉ๋๋ค.poly.method()๋ฉ์๋๋ Java์์ ์ค๋ฒ๋ผ์ด๋ฉ ๋ ๋ฉ์๋์ ์ฐ์ ๊ถ์ ๋ถ์ฌํฉ๋๋ค. ์ด๋ฅผ ์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง์๋๋ฆฌ๋ฉด Java์์๋ ๋ฐํ์์ ๊ฐ์ฒด์ ์ค์ ํ์ (์ฌ๊ธฐ์๋ new Child()๋ก ์ธํ Childํ์ )์ ๊ธฐ์ค์ผ๋ก ๋์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด Java ์์ ์ ์ด๋ ๊ฒ ๋ง๋ค์์๊น์? ์ด๋ด ๋ ์ ๋ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋๋ก ์๊ฐํ๊ธฐ์ ๋๋ค. ๋ง์ฝ, poly.method() ๊ฐ ๋ณ์์ ๋๊ฐ์ด ์ ์ฉ๋๋ค๊ณ ํด๋ณด๊ฒ ์ต๋๋ค.```javaParent poly = new Parent();poly.method(); // "Parent method" Parent poly = new Child();poly.method(); // "Parent method"```์ด๋ ๊ฒ ๋๋ค๋ฉด ๊ฒฐ๊ตญ ๋คํ์ฑ์ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋ฉ๋๋ค. ์ด ๋จ์์ ๋งจ์ฒ์์ ์๊ฐํด๋ณด๋ฉด ์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ๋ค ๋คํ์ฑ์ ํ์ฉํ๊ฒ ํ๊ธฐ ์ํด์ ์์ต๋๋ค. ์ ๋ ๊ฒ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ ๋ ๋ฉ์๋์ ์ฐ์ ๊ถ์ ๊ฐ์ ๋ก ๋ถ์ฌํด์ ๋ง์ด์ฃ .์ฐธ๊ณ ) ์ด๋ ๊ฒ ๊ฐ์ฒด์ ์ค์ ํ์ ์ผ๋ก ๋ฉ์๋๋ฅผ ํธ์ถ์ํค๋ ๊ฒ์ ์ปดํจํฐ ๊ณผํ์์๋ Dynamic dispatch ๋ผ๊ณ ํฉ๋๋ค.ํ์ง๋ง, ์ด๋ฐ์ ์ด๋ฐ ์ด๋ก ์ ๋๋ฌด ๋น ์ง๋ ๊ฑฐ๋ณด๋ค Java์์ ๊ทธ๋ฅ ์ด๋ ๊ฒ ํด์ฃผ๋๊ตฌ๋. ๋ผ๊ณ ๋ฐ์๋ค์ด๊ณ ์ฝ๋ฉ์ ์์ฐฝํ์๋๊ฒ ํจ์ฌ ํจ์ฌ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ์ค๊ฒ๋๋ค. ์ด๊ณตํ์ธ์.
- 0
- 2
- 275
Q&A
๋ค์ด์บ์คํ ์ ๋ํ ์ง
๋ฐ๋ผ์ ๋ค์ด์บ์คํ ์ ํด๋ ์์ํด๋์ค ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ๋ชปํ๋ค -> ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ ๊ฑด๊ฐ์? ์ ๋ํ ๋ต๋ณ:์ ์ด์ new Parent๋ก ์์ฑ๋ ์ธ์คํด์ค์๋ Child ํด๋์ค์ ๋ํ ์ ๋ณด๊ฐ ์์ผ๋ฏ๋ก ๋ค์ด ์บ์คํ ์ ํ ์ ์์ต๋๋ค.๊ทธ๋ ์ง๋ง ๋ค์ ์๊ฐํด๋ณด๋ฉด ๋ฉ์๋๋ ๋ฉ์๋ ์์ญ ๋ด์์ ๊ฐ์ ธ๋ค๊ฐ ํธ์ถํ๋ ๋ฐฉ์์ธ๋ฐ, ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์์ ํด๋์ค์ ๋ฉ์๋ ๋ํ ๋ฉ์๋ ์์ญ๋ด์์ ๋ถ๋ฌ์ค๋ฉด ๋๋๊น ํธ์ถ์ด ๊ฐ๋ฅํ ๊ฒ ์๋๊น์..? ์ ๋ํ ๋ต๋ณ:์์์ ๋ค์ด ์บ์คํ ์ด ์ฑ๋ฆฝ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐํ์ ์๋ฌ(ClassCastException)๊ฐ ๋ฐ์๋์ด ๋ฉ์๋ ํธ์ถํ๊ธฐ ์ ์ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ฉ๋๋ค.์ ๊ณตํด์ฃผ์ ์ฝ์์ ํ์ธํด๋ณด๋ฉด ๋ง์ง๋ง์ at poly.basic.CastingMain1.main(CastingMain1.java:7)์ด๋ผ๊ณ ๋์์์ต๋๋ค. 7๋ฒ ๋ผ์ธ์์ ์์ธ๊ฐ ๋ฐ์ํ ๊ฒ์์ ์ ์ ์์ต๋๋ค. (๋ค์์ ์ฝ๋ ์คํฌ๋ฆฐ์ท์ ์ ๊ณตํ ๋, ๋ผ์ธ ์๋ ๊ฐ์ด ์ฐ์ด์ฃผ์๋ฉด ๋ ์ข์๊ฑฐ์์!) ์๋ง child.childMethod()๋ฅผ ์ง์ฐ์๊ณ ์คํํ์ ๋ ๋๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒ๋๋ค.
- 0
- 3
- 443
Q&A
HTTP API ์ค๊ณ ์์ - ์ปจํธ๋กค๋ฌ, ์ปจํธ๋กค URI ๋ถ๋ถ ๋์ฌ๋ฅผ ์ง์ ์ฌ์ฉ์ ๋ํ ์ง๋ฌธ์ ๋๋ค.
์ด์ตํ. ๊ฐ์๊ธฐ ๊นจ๋ฌ์์ต๋๋ค.GET, POST๋ง ์ง์๋๋ ๊ฒฝ์ฐ์ ์ญ์ ํ๋ผ๊ฐ์ ๋ช ๋ น์ ๋ด๋ฆด ์ ์์ผ๋๊น ๊ทธ๋ด๋๋ ๋์ฌ์ฒ๋ฆฌํ๋ ๊ฑฐ๊ตฐ์. ์ ์คํ์ง ๋ชปํ๋ ์ง๋ฌธ์ ๋ํด์ ๋ฐ์ฑํฉ๋๋ค.
- 0
- 2
- 186
Q&A
view ๋ถ๋ฆฌ์ ๋ํด ์ง๋ฌธ์ด ์์ต๋๋ค!
MemberFormControllerV1์ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค.process(..)๋ ๋ค์๊ณผ ๊ฐ์ด ๋๊ฐ์ง ๋ถ๋ถ์ผ๋ก ๋๋์ด ์ง ์ ์์ต๋๋ค.(์ฌ์ง)์ ๊ทธ๋ด๊น์? ์์ ๋นจ๊ฐ ์์๋ ๊ณ์ ๋ณํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ฉด ์๋ ์์๋ ๋ณํจ์ด ์๋ ๋ก์ง์ ๋๋ค. ๋ฐ๋ผ์, ์ด ๋ ๋ฐ์ค๋ฅผ ๋ถ๋ฆฌํด์ค๋๋ค.(์ฌ์ง)๋ค๋ฅธ Controller๋ค์ ๋น๊ตํด๋ณด๋ฉด ์ด process์ 2์ค ๋ก์ง์ด ๋ชจ๋ ๋์ผํ๋ค๋ ๊ฑธ ์ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๊ฑธ ๊ทธ๋ฅ ํจ์จ์ ์ผ๋ก MyView๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ํ๊ตฐ๋ฐ์์ ์ฒ๋ฆฌํด์ฃผ๊ฒ ๋ค๋ ๊ฑธ ์ ์ฉํ๋ ค๊ณ ํ๋๊น ๊ณ ์ณ์ผํ ์ ์ด ๋ณด์ ๋๋ค.์ด getRequestDispatcher(..)๊ฐ viewPath๋ฅผ ์ฌ์ฉํ๋ค๋ ์ ์ ๋๋ค. ๋ฐ๋ผ์, ์ด viewPath๋ฅผ MyView์ ๋๊ฒจ์ค์ผํฉ๋๋ค. ์ด๋ค ๊ฐ์ ๋๊ฒจ์ค๋ ค๊ณ ํ ๋ ์คํ๋ง ๊ธฐ๋ณธํธ์์ ๋ฐฐ์ ๋ Dependency Injcection ์ ์ฌ์ฉํ๋ฉด MyView์์ฑ์๊ฐ viewPath๋ฅผ ์ธ๋ถ์์ ์ฃผ์ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์ฝ๋ฉ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ฒฐ๊ตญ, MyView๋ viewPath์ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ ๋ชฐ๋ผ๋ ๋๊ฒ ๋ฉ๋๋ค.๊ทธ๋ ๋ค๋ฉด ์ง๋ฌธ์ฃผ์ "String ํ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋ ๋ฉ์๋๋ก ๋ง๋ค๋ฉด ์ ๋๋์?" ์ ๋ํ ๋ต๋ณ์ ๋ง๋ค ์๋ ์๋ค์ ๋๋ค. ํ์ง๋ง ํ๋ผ๋ฏธํฐ์ ๊ฐฏ์๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๋ฆฌํฉํฐ๋ง์ ํ๋ฉด ๋จ์ ์ด ์์ต๋๋ค. ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์ชฝ์์๋ ์๋ง๋ ๊ฐ์ ๋ฃ์ด์ค์ผ ํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.๋ฐ๋ณต๋๋ ํ์๋ฅผ ํ๋์ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ๊ทธ ํด๋์ค๊ฐ ๋ฐ๋ณต๋๋ ํ์๋ฅผ ํ๊ฒ๋ ํ๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ์ ์ผ๋ก๋ ํจ์จ๋ฉด์์๋ ๋ ์ข๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด๋ก ๋ฐ๋ก ๋บ๊ฒ์ ๋๋ค.
- 0
- 2
- 203
Q&A
static Factory method๋ก ๋น ์์ฑ
์ง๋ฌธ์ ์ค๋ฅ๊ฐ ์์ด ๋ค์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.ํท๊ฐ๋ฆฌ๊ฒ ํด์ ์ฃ์กํฉ๋๋ค. https://www.inflearn.com/questions/1280576/static-factory-method%EB%A1%9C-%EB%B9%88-%EC%83%9D%EC%84%B1
- 0
- 2
- 213




