1. ํด๋์ค ์์ : ์์์ด ๋ถ๋ชจ๋ฅผ ์ ํํ๋ค. ์ ํ๋ ๋ถ๋ชจ๋ extends ๋ค์ ๊ธฐ์ ๋๋ค. ๋ถ๋ชจ ๊ฐ์ฒด๊ฐ ๋จผ์ ์์ฑ์ด ๋๋ฉด, ํ์ ์์์ ๊ฐ์ฒด๊ฐ ์์ฑ์ด ๋๋ค. public class Child extends Parent{...} 1. ์ฌ๋ฌ๊ฐ์ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์์ ํ ์ ์๋ค 2. private ์ ๊ทผ์ ๊ฐ๋ ํ๋์ ๋ฉ์๋๋ ์์ ๋์์์ ์ ์ธ, default ์์๋ ๊ฐ์ package ๋ด์์๋ง ์์ ๊ฐ๋ฅ public class parent{ public String a; public String b; } public class child extends parent{ public String c; public child(String a, String b, String c){ this.a = a; // pare..
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
1. ์ธ์คํด์ค ๋ฉค๋ฒ(Instance Field, Method) : ๊ฐ์ฒด๋ฅผ ์์ฑ ํ(new ์ฐ์ฐ์ ์ฌ์ฉ), ์ฌ์ฉํ ์ ์๋ ํ๋์ ๋ฉ์๋ ์ธ์คํด์ค ํ๋๋ ๊ฐ์ฒด๋ง๋ค ๋ฐ๋ก ์กด์ฌํ๊ณ , ์ธ์คํด์ค ๋ฉ์๋๋ ๋ฉ์๋ ์์ญ์ ์ ์ฅ๋๊ณ ๊ณต์ - this : ๊ฐ์ฒด ๋ด๋ถ์์ ์ธ์คํด์ค ๋ฉค๋ฒ๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ ์ฃผ๋ก, ์์ฑ์์ ๋ฉ์๋์ ๋งค๊ฐ ๋ณ์์ ์ด๋ฆ์ด ํ๋์ ๋์ผํ ๊ฒฝ์ฐ, ์ธ์คํด์ค ๋ฉค๋ฒ ์์ ์ฃผ๋ก ๋ถ์ฌ์ง๋ค. private String sentence; // ์ธ์คํด์ค ํ๋ public Hello(String sentence){ this.sentence = sentence; // ์ธ์คํด์ค ํ๋ = ๋งค๊ฐ๋ณ์ ํ๋ } //---------------------------------------------------------..
3์ 12์ผ์ ์งํํ๋ SQL Developer ์๊ฒฉ์ฆ์ ๋์ ํ๊ณ ์ ํ๋ค. ๋ฐฉํ ๋ ๋ฐ๋ ค๊ณ ํ์ง๋ง, ์ฌํด ์ฒซ ๋ฒ์งธ ์ํ์ด 3์ ๋ฌ์ด๊ธฐ์,, ํ๊ต ๊ณต๋ถํ๋ฉด์ ๊ฐ์ด ๋ณํํด์ผ์ฅฅ์ฅฅ์ฅฅ ๋์ด๋ฌด ๋น์ธ์ ํ๋ฒ์ ๋ถ์ด์ผ์ง,,, ์ดํด ํ๊ต์์๋ ๋์๋ฆฌ์์ DB ๊ณต๋ถํ ๊ฒ์ ๋ฐํ์ผ๋ก ์ด์ฌํ ์ค๋นํด์ผ๊ฒ ๋ค.
์ฑ ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ User๊ฐ ์ด ๊ธ์ ๋ถ๋ฌ์ฌ ๋, ๋ชจ๋ ๊ธ์ด ๋ถ๋ฌ์์ง๊ฒ ๋๊ธฐ ๋๋ฌธ์ ์ผ์ ๋ถ๋ถ์ ๊ธ๋ง ๋ถ๋ฌ์์ง๊ฒ api๋ฅผ ์์ ํด๋ฌ๋ผ๋ ๋ถํ์ ๋ฐ์๋ค. ์ธํฐ๋ท์ ์ฐพ์๋ณด๋, FrontEnd์ ์ญํ ์ธ ๊ฒ ๊ฐ์์ง๋ง ์ผ๋จ ์๊ฒ ๋ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ์ต๋ํ api๋ฅผ ์์ ํด๋ณด๊ณ ์ํ๋ค. (์์ผ๋ก๋ ์ด๊ฒ ์๋ฒ์ ์ญํ ์ธ์ง, ํ๋ก ํธ์ ์ญํ ์ธ์ง ๋ค์ ํ์ธํ ํ api๋ฅผ ์์ฑํด์ผ๊ฒ ๋ค) Jpa Repository๋ฅผ ํตํด์ User๊ฐ ์ด ๊ธ์ ๊ฐ์ ๋ถ๋ฌ์ค๊ฒ ๋๋ค. ์ด๋, Return variable์ด List๊ฐ ๋๋ฏ๋ก ๊ฐ์ ๋ณ๊ฒฝํ๋๋ฐ for๋ฌธ์ ์ฌ์ฉํด์ List์ ์๋ ๊ฐ์ ๋๋ค๋ฅธ List๋ก ์ฎ๊ฒจ์ผํ๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ๋ฐ๋ณต๋ฌธ์ด ์ฌ์ฉ๋ ๊ฒ์ผ๋ก ์์๋์๋ค. for๋ฌธ์ผ๋ก List๋ฅผ ๋ ๋ค๋ฅธ List๋ก ์ฎ๊ธฐ๋ฉด์ ์์ ์๋ ๊ฐ์ ๋ณ๊ฒฝํ๋..
๊ทธ ์ ๊น์ง๋ api์์ ์ง์ userid๋ฅผ ๊ฑด๋ด๊ณ JPA CRUD FindByUserId๋ฅผ ํตํด ์ ์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์์๋ค. ํ์ง๋ง ํ์๊ฐ์
์ ํ๊ณ , ๋ก๊ทธ์ธ์ ํ๊ฒ ๋๋ฉด token์ ์ ๊ณตํ๋ ๋ฐฉ์์ผ๋ก UMC APP API๋ฅผ ํ์๋ถ๊ป์ ์์ฑํด์ฃผ์
จ๋ค. ๊ทธ๋ ๋ค๋ฉด, token(authorization์ ์๋)๋ฅผ ๊ณ์ ์ฌ์ฉํด์ json์ ๋ฐ์์์ผํ๋ ์ํฉ์์๋ userId๋ฅผ ๋ณด๋ด์ง ์๊ณ jwt๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ง ์์๊นํ๋ ์๋ฌธ์ด ๋ค์๋ค. ์ด์ ๋ฐ๊ฒฌํ๊ฒ ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ ์ค, ๐ป๋์๋ฆฌ ์ฑ ํ๋ก์ ํธ์์๋ Principal์ ์ฌ์ฉํ๊ฒ ๋์๋ค. (@AuthenticationPrincipal ์ด๋ SecurityContextHolder, Authentication ๋ชจ๋ ์ฌ์ฉํ๋๋ฐ ์๋ฌ ๋จ,, ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์,,..
Repository์์ findBy ์์ฑํ๊ณ , ์ดํ์ List๋ฅผ ํตํด ๊ฐ์ ๋ชจ๋ ๋ถ๋ฌ์ฌ ๋ ๋ชจ๋ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ค. ํ์ง๋ง, User์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฐ์ธ ์ ๋ณด๊ฐ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด์ ์ด๋ฅผ ๋ฐฉ์งํ๊ณ ์ํ๋ค. ๋ชจ๋ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. @Getter @Entity @NoArgsConstructor @Table(name="user") public class UserEntity{ @Id @GeneratedValue private Long userIdx; @Column(nullable = false, length = 100) private String nickName; @Column(nullable = false, length = 100) private String user..
Spring boot์์ Entity๋ฅผ ์์ฑํ ํ, @Setter๋ฅผ ํตํด setter ํจ์๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ๋ค๋ฅธ class์์๋ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ์ ๋ณด์์ ์ผ๋ก๋ ์ข์ง ์๋ค. (์ฌ์ฉ์ ๊ฐ๋ฅํ์ง๋ง, ์ง์ํ๋ ๊ฒ์ด ์ข๋ค.) ๊ทธ๋ ๋ค๋ฉด @Setter ๋์ ์ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ ๊น? @Getter @Entity @NoArgsConstructor @Table(name="user") public class UserEntity{ @Id @GeneratedValue private Long userIdx; @Column(nullable = false, length = 100) private String nickName; @Column(nullable = false, length = 100) p..
1. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์๋ฐ๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ค ํ๋์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ฐ์ฒด๋ ๋ฌด์์ผ๊น? ๊ฐ์ฒด๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๊ฑฐ๋ ์ถ์์ ์ผ๋ก ์๊ฐํ ์ ์๋ ๊ฒ๋ค ์ค์์ ์์ฑ์ ๋ํ๋ด๊ณ , ์๋ณ์ด ๊ฐ๋ฅํ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋, ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์์ฑ์ Field, attribute๋ผ๊ณ ํ๊ณ , ๊ฐ์ฒด๊ฐ ํํ๋ ๋์์ Method๋ผ๊ณ ํ๋ค. ๊ฐ์ฒด๋ค์ ๋
๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ฉฐ, ์๋ก Method๋ฅผ ํตํด ์ํธ์์ฉ์ ํ๊ฒ ๋๋ค. ๋ฉ์๋ ํธ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. University university = new University(); // University ํด๋์ค์ constructor ํธ์ถ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ฑ int courseNum= university.course();// University์ method์ธ course ๋ถ..
+ ๊ฐ์ฒด ๋ ์ง ์ป๋ ๋ช
๋ น์ด: Calendar.getInstance() int year = now.get(Calendar.YEAR); int month = now.get(Calendar.MONTH) + 1; int day = now.get(Calendar.DAY_OF_MONTH); int week = now.get(Calendar.DAY_OF_WEEK); int hour = now.get(Calendar.HOUR); int minute = now.get(Calendar.MINUTE); int second = now.get(Calendar.SECOND); 1. ์ด๊ฑฐ ํ์
(Enum) : ์ด๊ฑฐ ์์(enumeration constant) ์ค์์ ์์๋ฅผ ์ ์ฅํ๋ ํ์
์ด๊ฑฐ ์์๋ ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๋ ๊ฒ์ด ๊ด๋ก..
1. ๊ธฐ๋ณธ ํ์
VS ์ฐธ์กฐ ํ์
๊ธฐ๋ณธ ํ์
: byte, char, short, int, long, float, double, boolean ๋ณ์๊ฐ ์ค์ ๊ฐ์ ๋ณ์ ์์ ์ ์ฅ -> ์คํ ์์ญ์ ์ง์ ๊ฐ์ ๊ฐ์ง ์ฐธ์กฐ ํ์
: ๋ฐฐ์ด, ์ด๊ฑฐ, ํด๋์ค, ์ธํฐํ์ด์ค ๋ณ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์ง๋ฅผ ๋ณ์ ์์( ์ ์ฅ ( ex. String type) -> ํ ์์ญ์ ๊ฐ์ฒด ์ฃผ์ ๊ฐ๋ฆฌํด -> ๋ฌธ์์ด์ด ์ง์ ๋ณ์์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ, ๋ฌธ์์ด์ String ๊ฐ์ฒด๋ก ์์ฑ๋๊ณ String ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์ด๋ค. ์ฆ, String a = "์๋
";์ด๋ผ๋ ์ฝ๋์์๋ ์๋
์ String ๊ฐ์ฒด๋ก ์์ฑ๋์ด์ ํ ์์ญ์ ์ ์ฅ ๋๊ณ , a๋ ์คํ ์์ญ์ ์ ์ฅ๋์ด "์๋
" ํ ์์ญ์ ๋ฒ์ง๋ฅผ ์ ์ฅํ๋ค. 2. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์์ญ(Runtime Data A..