๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋‚˜์˜ ๋ชจ์–‘

008 | Java - Variable, Type, String, Operator, I/O ๋ณธ๋ฌธ

SEB/TIL

008 | Java - Variable, Type, String, Operator, I/O

kexon 2022. 7. 4. 23:07

๐Ÿ’™ ์ž๋ฐ” ๊ธฐ์ดˆ 

  • ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ์“ฐ๋ ค๊ณ  ๋ณด๋‹ˆ๊นŒ ์ด๋ฏธ ๋” ์ž˜ ์ •๋ฆฌ๋œ ๋ธ”๋กœ๊ทธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ์ •๋ณด๊ฐ€ ์Ÿ์•„์ ธ ๋‚˜์˜จ๋‹ค. ๋ธ”๋กœ๊ทธ๋ฅผ ์•„๋ฌด๋ฆฌ ๊ณต๋“ค์—ฌ์„œ ์“ด๋‹ค๊ณ  ํ•œ๋“ค ๊ณต๋ถ€ํ•  ๋• ์•Œ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์‚ฌ์‹ค ๊ทธ ๋•Œ ๋ฟ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํฌ์ŠคํŒ… ํ•˜๋‚˜ํ•˜๋‚˜ ๊ณต๋“ค์—ฌ์„œ ์ •์„ฑ์Šค๋Ÿฝ๊ฒŒ ์“ฐ๊ณ  ์‹ถ์ง€๋งŒ ์‹œ๊ฐ„์ด ๋„ˆ~~๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ , ์ž˜ํ•ด์•ผ๋œ๋‹ค๋Š” ๊ฐ•๋ฐ•์ด ์‹ฌํ•ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋Œ€๋น„ ๋‚˜์ค‘์—” ์ž˜ ์•ˆ๋ณด๊ฒŒ ๋œ๋‹ค๋Š” ์Šฌํ”ˆ(ใ… ใ… )์–˜๊ธฐ๊ฐ€ ์ „ํ•ด์ ธ ๋‚ด๋ ค์˜จ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์˜ค๋Š˜ ๋‚ด๊ฐ€ ๋ฐฐ์šด ๊ฒƒ๋“ค๋งŒ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 
  • ์ด ํฌ์ŠคํŒ…์„ ์ •๋ง ์ž˜ ์จ๋‚ด๊ณ  ์‹ถ์ง€๋งŒ ... ์ตœ์†Œํ•œ ๋‚˜ํ•œํ…Œ ์˜๋ฏธ๊ฐ€ ์žˆ์œผ๋ฉด ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. 
  • ์ž๋ฐ”์˜ ํŠน์ง•
    • ์šด์˜์ฒด์ œ์— ๋…๋ฆฝ์  ⇒ JVM์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ
    • ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด(OOP, Object-Oriented Programming)
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์›(๋žŒ๋‹ค์‹, ์ŠคํŠธ๋ฆผ)
      • ํ•„ํ„ฐ๋ง, ๋งคํ•‘, ์ง‘๊ณ„ ์ฒ˜๋ฆฌ์— ์šฉ์ด
    • ์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(Garbage Collection)n ⇒ ํ•ต์‹ฌ ์ฝ”๋“œ์— ์ง‘์ค‘
  • JVM(Java Virtual Machine)
    • ์ž๋ฐ”๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ ๊ธฐ๊ณ„ - ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
    • ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜
    • JRE๋‚˜ JDK๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ JVM ์„ค์น˜
      • JRE(Java Runtime Environment): JVM + ํ‘œ์ค€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
      • JDK(Java Development Kit): JRE + ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋„๊ตฌ
  • ๋ณ€์ˆ˜
    • ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ๋Œ€์ž…, ๋ณ€์ˆ˜ ๋ช…๋ช…๊ทœ์น™
    • ์ƒ์ˆ˜, ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ , ๋ฆฌํ„ฐ๋Ÿด
  • ํƒ€์ž…
    • ๊ธฐ๋ณธํ˜•(Primitive Type)
      • ๊ฐ’ ์ €์žฅ ์‹œ ๋ฐ์ดํ„ฐ์˜ ์‹ค์ œ ๊ฐ’ ์ €์žฅ
      • ์ •์ˆ˜ํƒ€์ž…(byte, short, int, long), ์‹ค์ˆ˜ํƒ€์ž…(float, double), ๋ฌธ์žํƒ€์ž…(char), ๋…ผ๋ฆฌํƒ€์ž…(boolean)
    • ์ฐธ์กฐํ˜•(Reference Type)
      • ๊ฐ’ ์ €์žฅ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๊ณณ์„ ํƒ€๋‚˜๋‚ด๋Š” ์ฃผ์†Œ๊ฐ’ ์ €์žฅ
      • ๊ธฐ๋ณธํ˜• ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํƒ€์ž… ๋‹ค
  • ๋ฌธ์ž์—ด
    • String ํƒ€์ž…์˜ ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ํ• ๋‹น
    • String ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ
    • String Tokenizer
    • StringBuilder / StringBuffer
    • String ํด๋ž˜์Šค์˜ ๋ฌธ์ž์—ด ์กฐ์ž‘ ๋ฉ”์„œ๋“œ
    • ๋ฌธ์ž์—ด ์กฐ์ž‘ ๋ฉ”์„œ๋“œ ์ฐธ๊ณ 
 

Understanding toString() method - javatpoint

If you want to represent any object as a string, toString() method comes into existence. The toString() method returns the string representation of the object. If you print any object, java compiler internally invokes the toString() method on the object. S

www.javatpoint.com

  • ์—ฐ์‚ฐ์ž
    • ์‚ฐ์ˆ /๋น„๊ต/๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž, ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„
  • ์ฝ˜์†” ์ž…์ถœ๋ ฅ

๐Ÿ’› ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์Šต

  • ์‹ค์Šต์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ? ์ฒ˜๋Ÿผ ๋˜์–ด์žˆ๋Š”๋ฐ ์ด๋Ÿฐ ๋ฌธ์ œ ํ˜•์‹(?)์„ ์ ‘ํ•œ๊ฒŒ ์„œ๋กœ ์ดˆ๋ฉด์ด์–ด์„œ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฐ์„ ๋ชป ์žก์•„์„œ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์—์„œ ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ์ง€์ฒด๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๊ตฌ๊ธ€๋ง ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด๋‚˜๊ฐˆ์ง€ ๊ณ„์† ์ด์•ผ๊ธฐํ–ˆ๋‹ค.
  • ๊ฒฐ๊ตญ ์‹œ๊ฐ„ ๋‚ด ์™„๋ฃŒํ•˜์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ, ๋ผ์ด๋ธŒ์„ธ์…˜์—์„œ ์„ค๋ช…๋„ ํ•ด์ฃผ๋ฉฐ ๊ฐ™์ด ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ดค์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ํ•ด๋ณธ๊ฒŒ ์•„๋‹ˆ๊ธฐ์— ์ €๋…์— ๋‹ค์‹œ ๋งŒ๋‚˜์„œ ๋ชป ํ‘ผ ๊ฒƒ๋“ค ๋‹ค์‹œ ๋ณด๊ณ  ์ œ์ถœ ์™„๋ฃŒํ–ˆ๋‹ค!๐Ÿ‘๐Ÿป

๐Ÿ’š ์˜ค๋Š˜์˜ ์งˆ์˜์‘๋‹ต

Q. int type์œผ๋กœ ์„ ์–ธ๋œ intValue ๋ณ€์ˆ˜๋ฅผ ๋” ์ž‘์€ ๋‹จ์œ„์ธ byte๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜ˆ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ฒ˜์Œ์— byte๋กœ ํ•˜๋ฉด ๋ฒ”์œ„๊ฐ€ ๋„˜์–ด๊ฐ€๋‹ˆ๊นŒ ์• ์ดˆ์— -128์ด ๋˜๋Š”๋ฐ ์™œ int๋กœ ํ•˜๋Š”๊ฑด์ง€, ์–ด์ฐจํ”ผ ๊ฐ’์„ byte๋กœ ํ•˜๋ฉด -128์ด ๋˜๋Š”๋ฐ ์™œ ๊ตณ์ด ํฐ type์„ ์ž‘์€ type์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋‹ค.

A. ์ด๊ฒƒ์€ ํƒ€์ž… ๋ณ€ํ™˜์„ ๋ฐฐ์šฐ๋ฉฐ ์ˆ˜๋™ ํƒ€์ž…๋ณ€ํ™˜์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์˜ˆ์ œ๋กœ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ’œ ์˜ค๋Š˜์˜ ์ƒ๊ฐ ์กฐ๊ฐ๋ชจ์Œ

  • ์ž๋ฐ” ๊ณต๋ถ€์— ๋“ค์–ด๊ฐ”๋‹ค. ์–ด์จŒ๋“  ๊ณต๋ถ€๋ฅผ ๋†“์ง„ ์•Š๊ณ  ์žˆ์—ˆ์–ด์„œ ๊ทธ๋ž˜๋„ ์ด์   ๋ญ๋ผ๋„ ์ข€ ๋น ๋ฆฟํ•˜๊ฒŒ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ์„๊นŒ ํ–ˆ๋Š”๋ฐ ์ •๋ง ํฐ ์ฐฉ๊ฐ...๐Ÿ˜ญ 
  • ์ผ๋‹จ ํ•œ ํšŒ๋… ํ•œ๋‹ค๊ณ  ์ดํ•ด ์•ˆ๊ฐ€๋„ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ”๋˜ ๋‚ด์šฉ๋“ค์„ ์ด์   ํ•˜๋‚˜์”ฉ ๋ถ™์žก๊ณ  ๋‹ค์‹œ ๋ณด๊ณ  ์‹ค์Šต๋„ ํ•ด์•ผ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ก ์— ๋„ˆ๋ฌด ๊ฐ•๋ฐ•์ ์ด์—ˆ๊ณ , ๋งŽ์€ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ ‘ํ•ด๋ด์•ผ๋˜๋Š”๋ฐ ์†Œํ™€ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์•„ ์•„์‰ฌ์›€์ด ๋‚จ๋Š”๋‹ค. ๊ทธ๋ž˜๋„ ์ „์—๋Š” ๊ณต๋ถ€ํ•˜๋Š”๊ฒŒ ๊ดด๋กœ์› ๋Š”๋ฐ ์ด์ œ๋Š” ์•Œ์•„๊ฐ€๋Š” ์žฌ๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.๐Ÿฅฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋˜๊ฑฐ๋‚˜, ์•ˆ๋˜๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๊ทธ๊ฑธ ๋˜๊ฒŒ ํ•˜๋Š” ๊ทธ ๊ณผ์ •์€ ์‚ฌ๋žŒ๋งˆ๋‹ค ๋‹ค๋ฅด๊ณ  ๋ฐฉ์‹๋„ ๋ฌด์ˆ˜ํ•˜๊ฒŒ ๋งŽ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์œ์ฝ”๋“œ/์ข‹์€์ฝ”๋“œ๋„ ์žˆ๋Š”๊ฑฐ๊ณ  ๊ทธ ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋” ํšจ์œจ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์„œ์ ๋“ค์ด๋‚˜ ๋ฐฉ๋ฒ•๋“ค์ด ๋งŽ์€ ๊ฑฐ๊ฒ ์ง€.๐Ÿค”
  • ๋‚ด๊ฐ€ ์ด์ „์— ์žˆ์—ˆ๋˜ ๋ถ„์•ผ๋Š” ๋‹ค ์ฃผ๊ด€์ ์ธ ๊ฒƒ๋“ค์ด ์ค‘์š”ํ–ˆ๋‹ค. ๋…ผ๋ฆฌ๊ฐ€ ๋ญ์•ผ~๐Ÿคท๐Ÿป‍โ™€๏ธ ์‚ฌ๊ณ ๋ ฅ์ด ๋ญ์•ผ~๐Ÿคท๐Ÿป ๊ฐ๊ด€์ ์ธ๊ฒŒ ๋‹ค ๋ญ์•ผ~๐Ÿคท๐Ÿป‍โ™‚๏ธ ๊ทธ๋Ÿฐ๊ฑฐ ๋‹ค ํ•„์š”์—†๊ณ  ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ข‹์œผ๋ฉด ์ข‹๊ณ ~๐Ÿ™†๐Ÿป‍โ™€๏ธ ์‹ซ์œผ๋ฉด ์‹ซ๊ณ ~๐Ÿ™…๐Ÿป‍โ™€๏ธ ์ข‹๋‹ค๊ฐ€๋„ ์‹ซ๊ณ  ์‹ซ๋‹ค๊ฐ€๋„ ์ข‹๊ณ ~ ๊ทธ๋ž˜์„œ ๋…ผ๋ฆฌ์  ์‚ฌ๊ณ ๊ฐ€ ์ž˜ ์•ˆ๋˜๊ณ  ํ๋ฆ„์ด ์ž˜ ์™€๋‹ฟ์ง€ ์•Š์•„์„œ ๊ณ ์ „์ค‘์ด์ง€๋งŒ! ๊ทธ๋ž˜๋„ ์ž๊พธ ์ƒ๊ฐํ•˜๊ณ  ์—ฐ์Šตํ•˜๋‹ค๋ณด๋ฉด ์ข‹์•„์ง€๊ฒ ์ง€ ๐Ÿ˜ญ๐Ÿ€

'SEB > TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

010 | Java - Array  (0) 2022.07.06
009 | Java - ์ œ์–ด๋ฌธ  (0) 2022.07.05
007 | Git & Github  (0) 2022.07.01
006 | Linux Basic  (0) 2022.06.30
005 | Practical | Twittler Mockup Implement  (0) 2022.06.29
Comments