[Java] instance์™€ class

JTIยท2022๋…„ 10์›” 20์ผ
1

โ˜•๏ธย  Java

๋ชฉ๋ก ๋ณด๊ธฐ
7/59
post-thumbnail

๐Ÿ’ก object๋ฅผ ๋„์ถœํ•˜๋Š” ์ˆœ์„œ

  1. ๊ฐ object๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์„๋งŒํ•œ '์†์„ฑ'์ด๋‚˜ '๋™์ž‘'์„ ์ƒ๊ฐํ•ด ์ข…๋ฅ˜์™€ ๋‚ด์šฉ์„ ์ •์˜
  2. ๊ฐ object๋ฅผ ๊ฐ€์ƒ์„ธ๊ณ„์— ๋„์ถœ, ๋™์ž‘์‹œ์ผœ ๋ณด๊ธฐ

๐Ÿ’ก ์šฉ์–ด ์ •๋ฆฌ

object: ํ˜„์‹ค ์„ธ๊ฒŒ์˜ ๋ชจ๋“  ๊ฐ์ฒด
class: object๋ฅผ ๊ฐ€์ƒ์„ธ๊ณ„ ์šฉ์œผ๋กœ ๊ตฌ์ฒดํ™” ํ•œ ๊ฒƒ (๋ถ•์–ด๋นต ํ‹€)
instance: ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๋งŒ๋“ค์–ด ๋‚ธ ๊ฒƒ (๋ถ•์–ด๋นต)

๐Ÿ’ก ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ

โœ๏ธ main ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑ

์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํด๋ž˜์Šค๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.

  1. main ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๋Š” 1๊ฐœ์˜ "์‹  ํด๋ž˜์Šค"
  2. ๋“ฑ์žฅ ์ธ๋ฌผ ํด๋ž˜์Šค

๊ตฌ์ƒ
1. ์šฉ์‚ฌ์—ฌ, ๊ฐ€์ƒ ์„ธ๊ณ„์— ํƒ„์ƒํ•˜๋ผ
2. ๊ดด๋ฌผ ๋ฒ„์„ฏ์ด์—ฌ, ๊ฐ€์ƒ ์„ธ๊ณ„์— ํƒ„์ƒํ•˜๋ผ
3. ์šฉ์‚ฌ์—ฌ, ์‹ธ์›Œ๋ผ
4. ๊ดด๋ฌผ ๋ฒ„์„ฏ์ด์—ฌ, ๋„๋ง๊ฐ€๋ผ

๐Ÿ—ก ์šฉ์‚ฌ ๊ตฌ์ƒ

public class Hero {
	String name;
    int hp;
    
    void attack() {}
    void run() {}
    void sit(int sec) {} // ๋ช‡์ดˆ๊ฐ„ ์•‰์•„์žˆ์„ ์ง€ ์‹œ๊ฐ„ ๋„ฃ์Œ.
    void sleep() {}
}

๐Ÿ‘พ ๊ดด๋ฌผ ๊ตฌ์ƒ

public class Kinoko {
	int hp;
    final int LEVEL = 10;
}

๐Ÿ’กํด๋ž˜์Šค๋ช…๊ณผ ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๋ช…๋ช… ๊ทœ์น™

โœ”๏ธ ํด๋ž˜์Šค๋ช…

: ๋ช…์‚ฌ / ๋‹จ์–ด์˜ ๋งจ ์ฒ˜์Œ์€ ๋Œ€๋ฌธ์ž / ex) Hero, MonsterInfo

โœ”๏ธ ํ•„๋“œ๋ช…

: ๋ช…์‚ฌ / ์ตœ์ดˆ ์ด์™ธ์˜ ๋งจ ์ฒ˜์Œ์€ ๋Œ€๋ฌธ์ž / ex) mLevel, mltemList

โœ”๏ธ ๋ฉ”์†Œ๋“œ๋ช…

: ๋™์‚ฌ / ์ตœ์ดˆ ์ด์™ธ์˜ ๋‹จ์–ด์˜ ๋งจ ์ฒ˜์Œ์€ ๋Œ€๋ฌธ์ž / ex) attack, findWeakPoint

๐Ÿ’ก ํด๋ž˜์Šค ์ •์˜์— ๋”ฐ๋ฅธ ํšจ๊ณผ

  1. ์ •์˜ํ•œ ํด๋ž˜์Šค๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์ด ํด๋ž˜์Šค๋กœ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ์ด์šฉ ๊ฐ€๋Šฅ ํ•ด ์ง„๋‹ค.
    Hero ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉด Hero ํƒ€์ž…์˜ ๋ณ€์ˆ˜๊ฐ€ ์ด์šฉ ๊ฐ€๋Šฅ.
Hero hero;

ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉด Java์—์„œ ์ด์šฉ๊ฐ€๋Šฅํ•œ ํƒ€์ž…์˜ ์ข…๋ฅ˜๊ฐ€ ์ ์  ๋Š˜์–ด๋‚จ.

๐Ÿ’ก ์ธ์Šคํ„ด์Šค์™€ ํด๋ž˜์Šค

  • ์ธ์Šคํ„ด์Šค์™€ ํด๋ž˜์Šค๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฒƒ. ํ˜ผ๋™ํ•˜์ง€ ๋ง์ž.
  • ๊ฐ€์ƒ ์„ธ๊ณ„์—์„œ ํ™œ๋™ํ•˜๋Š” ๊ฒƒ์€ ์ธ์Šคํ„ด์Šค (์˜ค๋ธŒ์ ํŠธ)
  • ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ‹€์ด ํด๋ž˜์Šค

๐Ÿ’ก ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ

  • ํด๋ž˜์Šค์—๋Š” ์†์„ฑ์„ ํ•„๋“œ๋กœ, ๋™์ž‘์„ ๋ฉ”์„œ๋“œ๋กœ ์„ ์–ธํ•œ๋‹ค.
  • final์ด ๋ถ™์€ ํ•„๋“œ๋Š” ์ƒ์ˆ˜ ํ•„๋“œ๋กœ์„œ ๊ฐ’์ด ๋ถˆ๋ณ€์ด๋‹ค.
  • this๋Š” ์ž๊ธฐ ์ž์‹ ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ‚ค์›Œ๋“œ.

๐Ÿ’ก ํด๋ž˜์Šค ํƒ€์ž…

  • ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉด, ๊ทธ ํด๋ž˜์Šค ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์–ด๋–ค ํด๋ž˜์Šค ํƒ€์ž… ๋ณ€์ˆ˜๋Š” ๊ทธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ์ธ์Šคํ„ด์Šคํ™”

  • new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ (๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ)
  • ์–ด๋–ค ํด๋ž˜์Šค ํƒ€์ž… ๋ณ€์ˆ˜์— ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ด๊ฒจ ์žˆ์„ ๋•Œ "๋ณ€์ˆ˜๋ช….ํ•„๋“œ๋ช…" ์ด๋‚˜
    "๋ณ€์ˆ˜๋ช….๋ฉ”์„œ๋“œ๋ช…()"์œผ๋กœ ๊ทธ ์ธ์Šคํ„ด์Šค์˜ ํ•„๋“œ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
profile
Fill in my own colorful colors๐ŸŽจ

0๊ฐœ์˜ ๋Œ“๊ธ€