Light Purple Pointer
์‹ค์Šต ๋ฌธ์ œ ) p281 6๋ฒˆ ํ’€์ด -๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ) Math.random()์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ๊ฐ€ ํ•˜๋Š” ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด์ž. ๊ฐ€์œ„, ๋ฐ”์œ„,๋ณด๋Š” ๊ฐ๊ฐ 1,2,3 ํ‚ค์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ 1,2,3 ํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋™์‹œ์— ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‚œ์ˆ˜ ๋ฐœ์ƒ๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ 1,2,3 ์ค‘์— ํ•œ ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์ปดํ“จํ„ฐ๊ฐ€ ๋‚ธ ๊ฒƒ์„ ๊ฒฐ์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ ๋‘˜ ์ค‘ ๋ˆ„๊ฐ€ ์ด๊ฒผ๋Š”์ง€๋ฅผ ํŒ๋ณ€ํ•˜์—ฌ ์Šน์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด) package ์‹ค์Šต๋ฌธ์ œ6; import java.util.Scanner; public class App { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean result = false; while(result==fal..
์‹ค์Šต ๋ฌธ์ œ ) p236 3๋ฒˆ ํ’€์ด -๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ) ๋‹ค์Œ ์ฝ”๋“œ์™€ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ถ”์ƒํด๋ž˜์Šค Calculator ๋ฅผ ์ƒ์†๋ฐ›๋Š” Adder ์™€ Subtracter ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ํ’€์ด) package ์‹ค์Šต๋ฌธ์ œ3; import java.util.Scanner; abstract class Calculator{ protected int a,b; abstract protected int calc(); protected void input() { Scanner scanner = new Scanner(System.in); System.out.print("์ •์ˆ˜ 2๊ฐœ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”>>"); a = scanner.nextInt(); b = scanner.nextInt(); } public void run() { input(); int res = calc(); Sy..
์‹ค์Šต ๋ฌธ์ œ ) p235 1๋ฒˆ ํ’€์ด -๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ) ์›์„ ํ‘œํ˜„ํ•˜๋Š” Circle ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค. package ์‹ค์Šต๋ฌธ์ œ1; public class Circle { private int radius; public Circle(int radius) { this.radius = radius; } public int getRadius() { return radius; } } Circle ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์€ NameCircle ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜์—ฌ, ๋‹ค์Œ main()์„ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ ์‹คํ–‰ ๊ฒฐ๊ณผ์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋„๋ก ํ•˜๋ผ. public static void main(String[] args) { NamedCircle w = new NamedCircle(5,"Waffle"); w.show(); } ํ’€์ด) package ์‹ค์Šต๋ฌธ์ œ1; public class NamedCir..
์‹ค์Šต ๋ฌธ์ œ ) p188 Bonus1 ํ’€์ด -๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ) ๋‘ ์‚ฌ๋žŒ์ด ๋ฒˆ๊ฐˆ์•„ ํ•˜๋Š” ๊ฐฌ๋ธ”๋ง ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด ๋ณด์ž. 0์—์„œ 2 ์‚ฌ์ด์˜ ์ •์ˆ˜ 3๊ฐœ๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ๋ฐœ์ƒ์‹œ์ผœ ๋ชจ๋‘ ๊ฐ™์œผ๋ฉด ์Šน๋ฆฌํ•จ. ์„ ์ˆ˜๋Š” Player ํด๋ž˜์Šค๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ผ ํ’€์ด) package ์‹ค์Šต๋ฌธ์ œ_Bonus1; import java.util.Scanner; class Player { private String name ; public Player(String name) { this.name= name; } public String getName() { return name; } } public class GamblingGame { public static void main(String[] args) { Scanner scanner = new Scanner(Sy..
์‹ค์Šต ๋ฌธ์ œ) 187p 6๋ฒˆ ํ’€์ด - ๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ) ๋‹ค์Œ์€ ๊ฐ€๋กœ ์„ธ๋กœ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐ•์Šค๋ฅผ ํ‘œํ˜„ํ•˜๋Š” Box ํด๋ž˜์Šค์™€ ์ด๋ฅผ ์ด์šฉํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. Box draw()๋Š” fill ํ•„๋“œ์—์„œ ์ง€์ •๋œ ๋ฌธ์ž๋กœ ์ž์‹ ์„ ๊ทธ๋ฆฐ๋‹ค. ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•˜๋ผ ํ’€์ด) package ์‹ค์Šต๋ฌธ์ œ6; public class Box { private int width, height; private char fillChar; public Box() { this(10,1); } public Box(int width, int height) { this.width=width; this.height=height; } public void draw() { for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { Syst..
์‹ค์Šต ๋ฌธ์ œ ) p185 4๋ฒˆ ํ’€์ด -๋ช…ํ’ˆ ์ž๋ฐ” ์—์„ผ์…œ
ยท
BACKEND/Java
๋ฌธ์ œ ) ์ด๋ฆ„(name)๊ณผ ์ „ํ™”๋ฒˆํ˜ธ(tel) ํ•„๋“œ, ์ƒ์„ฑ์ž ๋ฐ ํ•„์š”ํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„ Phone ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ๋‹ค์Œ ์‹คํ–‰ ์‚ฌ๋ก€์™€ ๊ฐ™์ด ์ž‘๋™ํ•˜๋„๋ก main() ์„ ๊ฐ€์ง„ PhoneManager ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ํ•œ ์‚ฌ๋žŒ์˜ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ํ•˜๋‚˜์˜ Phone ๊ฐ์ฒด๋กœ ๋‹ค๋ฃฌ๋‹ค. 1) main() ์„ ๊ฐ€์ง„ PhoneManager package ์‹ค์Šต๋ฌธ์ œ4; import java.util.Scanner; public class App { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("์ธ์›์ˆ˜ >>"); int total = scanner.nextInt(); Phone[] p = new Ph..
์ฟ ํ‚ค(Cookie) ๋ž€?
ยท
BACKEND/Java
์ฟ ํ‚ค๋ž€? ์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ . ์ƒํƒœ ์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์— ํ‚ค(key)์™€ ๊ฐ’(value)๋กœ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ๋‹ค์Œ ์š”์ฒญ ์‹œ ์ €์žฅ๋œ ์ฟ ํ‚ค๋ฅผ ํ•จ๊ป˜ ์ „์†กํ•จ. ๊ทธ๋Ÿฌ๋ฉด ์›น ์„œ๋ฒ„๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ „์†กํ•œ ์ฟ ํ‚ค๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ์Œ. ๋™์ž‘ ๋ฉ”์ปค๋‹ˆ์ฆ˜ 1) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒ„ 2) ์„œ๋ฒ„๊ฐ€ ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ HTTP ์‘๋‹ต ํ—ค์–ด๋ฐ ์‹ค์–ด ํด๋ผ์ด์–ธํŠธ์— ์ „์†ก 3) ํด๋ผ์ด์–ธํŠธ๋Š” ์ฟ ํ‚ค๋ฅผ ๋ฐ›์•„ ์ €์žฅํ•ด๋‘  ( ์ €์žฅ๋œ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง ์‚ฌ์šฉ์€ ๋ถˆ๊ฐ€๋Šฅ) 4) ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์Œ ์š”์ฒญ ์‹œ ์ €์žฅํ•ด๋‘” ์ฟ ํ‚ค๋ฅผ HTTP ์š”์ฒญ ํ—ค๋”์— ์‹ค์–ด ๋ณด๋ƒ„ 5) ์„œ๋ฒ„๋Š” ์ฟ ํ‚ค์˜ ์ •๋ณด๋ฅผ ์ฝ์–ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ) 1. ์ฟ ํ‚ค(Cookie) ์„ค์ • 2. ์ฟ ํ‚ค ์„ค์ • ์งํ›„ ์ฟ ํ‚ค๊ฐ’ ํ™•์ธํ•˜๊ธฐ 3. ํŽ˜์ด์ง€ ์ด๋™..
Scope ) session ์˜์—ญ
ยท
BACKEND/Java
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ตœ์ดˆ๋กœ ์—ด๊ณ ๋‚œ ํ›„ ๋‹ซ์„ ๋•Œ ๊นŒ์ง€ ์š”์ฒญ๋˜๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” session๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Œ. ์„ธ์…˜์ด๋ž€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•ด ์žˆ๋Š” ์ƒํƒœ ํ˜น์€ ๋‹จ์œ„๋ฅผ ๋งํ•จ. ์ฃผ๋กœ ํšŒ์›์ธ์ฆ ํ›„ ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ๋จ ์˜ˆ์ œ) SessionMain.jsp ์ƒ์„ฑ ํŽ˜์ด์ง€ ์ด๋™ ํ›„ session ์˜์—ญ์˜ ์†์„ฑ ์ฝ๊ธฐ SessionLocation.jsp ๋ฐ”๋กœ๊ฐ€๊ธฐ 1. ArrayList์ปฌ๋ ‰์…˜์„ ์ƒ์„ฑํ•œ ํ›„ 2๊ฐœ์˜ String ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•œ ๋‹ค์Œ , ์ด ์ปฌ๋ ‰์…˜์„ ํ†ต์งธ๋กœ session ์˜์—ญ์— ์ €์žฅ SessionLocation.jsp ํŒŒ์ผ ์ƒ์„ฑ ํŽ˜์ด์ง€ ์ด๋™ ํ›„ session ์˜์—ญ์˜ ์†์„ฑ ์ฝ๊ธฐ
Scope ) request ์˜์—ญ
ยท
BACKEND/Java
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•  ๋•Œ ๋งˆ๋‹ค ์ƒˆ๋กœ์šด request ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ๊ฐ™์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  JSPํŽ˜์ด์ง€๊ฐ€ ๊ณต์œ ํ•จ ํฌ์›Œ๋“œ๋œ ํŽ˜์ด์ง€๊นŒ์ง€ ๊ณต์œ ๊ฐ€๋Šฅํ•จ. ๋‹จ ํŽ˜์ด์ง€ ์ด๋™ ์‹œ์—๋Š” ์†Œ๋ฉธ๋ผ์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ -> page ์˜์—ญ๋ณด๋‹ค ์ข€ ๋” ๋„“์Œ -> ํ•˜๋‚˜์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ์™„๋ฃŒ๋  ๋•Œ ์†Œ๋ฉธ ์˜ˆ์ œ) RequestMain.jsp ์ƒ์„ฑ request ์˜์—ญ์˜ ์†์„ฑ๊ฐ’ ์‚ญ์ œํ•˜๊ธฐ request ์˜์—ญ์˜ ์†์„ฑ๊ฐ’ ์ฝ๊ธฐ String ๊ฐ์ฒด : Person ๊ฐ์ฒด : ํฌ์›Œ๋“œ๋œ ํŽ˜์ด์ง€์—์„œ request ์˜์—ญ ์†์„ฑ๊ฐ’ ์ฝ๊ธฐ ํฌ์›Œ๋“œ ํ•˜๊ธฐ ์ „ ์ถœ๋ ฅ ํ™”๋ฉด 1. request ์˜์—ญ์—์„œ String ๊ฐ์ฒด์™€ Person ๊ฐ์ฒด ์ €์žฅํ•จ 2. request.remove๋กœ ์†์„ฑ๊ฐ’ ์‚ญ์ œํ•จ ( requestString) ์ด๋ฆ„์ด ์—†๋Š” ์†์„ฑ๊ฐ’ ์‚ญ์ œํ•˜๊ณ ์ž ํ•ด๋„ ์˜ค..
Scope ) Page ์˜์—ญ
ยท
BACKEND/Java
page ์˜์—ญ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ด€์—ฌํ•˜๋Š” JSPํŽ˜์ด์ง€๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์ƒ์„ฑ๋œ๋‹ค. page ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ pageContext ๊ฐ์ฒด๋ฅผ ํ• ๋‹น๋ฐ›๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๊ฐ์ฒด์— ์ €์žฅ๋œ ์ •๋ณด๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ํŽ˜์ด์ง€๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ์†Œ๋ฉธ๋œ๋‹ค. ์˜ˆ์ œ) PageContextMain.jsp ์ƒ์„ฑ page ์˜์—ญ์˜ ์†์„ฑ๊ฐ’ ์ฝ๊ธฐ Integer ๊ฐ์ฒด : String ๊ฐ์ฒด : Person ๊ฐ์ฒด : , include๋œ ํŒŒ์ผ์—์„œ page ์˜์—ญ ์ฝ์–ด์˜ค๊ธฐ ํŽ˜์ด์ง€ ์ด๋™ ํ›„ page ์˜์—ญ ์ฝ์–ด์˜ค๊ธฐ PageLocation.jsp ๋ฐ”๋กœ๊ฐ€๊ธฐ include ํŒŒ์ผ์ธ PageInclude.jsp ์ƒ์„ฑ Include ํŽ˜์ด์ง€ Integer ๊ฐ์ฒด : String ๊ฐ์ฒด : Person ๊ฐ์ฒด : , ํ™”๋ฉด ์ถœ๋ ฅ ํƒœ๊ทธ ๋งํฌ๋กœ ์ด..
ใ„ด