Class
๊ฐ์ฒด์งํฅ์ ์ง์
์ฅ๋ฒฝ์ด ์๋ ์ฃผ์
๋ฐ๋ก ์ค๋ช ํ๊ธฐ๋ณด๋ค, ์ง์ ์ค์ต์ ํตํด ํ๋ํ๋ ์์๊ฐ ๊ฒ
ํด๋์ค/๊ฐ์ฒด ์์ด ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๋ฉด?
๊ฐ์/์ ์ฌํ ํ์์ ๋ฐ๋ณต๋๋ ์ฝ๋๋ค
๋ฐ๋ณต์ ์ค์ด๊ณ , ์ฒด๊ณ์ ์ด๊ณ ์์ ์ ์ด๊ฒ ์ด ๋ฒํผ๋ค์ ๋ค๋ฃฐ ๋ฐฉ๋ฒ ํ์
Ex01 - button.java
ํ์ผ์์ฑ์ ์์ฑ๋ ์ต์๋จ์ package ๋ผ์ธ์ ์ง์ฐ์ง ๋ง ๊ฒ
[Main.java](<http://Main.java>)
ํ์ผ๊ณผ ๊ฐ์ ์์น์ ์์ฑํด๋์ค class : ๊ฐ ๋ฒํผ์ด ๊ฐ๊ณ ์์ ์์ฑ(๋ค)๊ณผ ๊ธฐ๋ฅ(๋ค)์ ์ ์
๊ฐ์ฒด object / ์ธ์คํด์ค instance : ์์ฑ(ํ๋กํผํฐ)๋ค๊ณผ ๊ธฐ๋ฅ(๋ฉ์๋)๋ค์ ๋ฌถ์
์๋ฐ์์๋ ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ๊ฐ์ ๊ฒ์ผ๋ก ์ดํดํด๋ ๋จ
์ธ์คํด์ค๋ ํด๋์ค์์ ์ ์ํ ๋ฐฉ์์ผ๋ก ์์ฐ๋จ
๐ก ํด๋์ค & ์ธ์คํด์ค - ํ๋์ฐจ์ด์ฆ ๋ณธ์ฌ & ๋งค์ฅ
์ด๋ฐ๋ถ์ ์ดํด๋ฅผ ์ํด ํ๋ ์ฐจ์ด์ฆ ๋น์ ๋ฅผ ์ฌ์ฉํ ๊ฒ
ex02 - DancingCup.java
โญ ํด๋์คํ์ผ์ ์ด๋ฆ์ ํด๋์ค์ ์ด๋ฆ๊ณผ ๋์ผํด์ผ ํจ (
public
ํด๋์ค์ผ ์)IntelliJ์์ ํด๋์ค๋ช ์์ ํด ๋ณผ ๊ฒ - refactor
๋๋ฒ๊น ํด๋ก ์ธ์คํด์ค๋ค ์ดํด๋ณผ ๊ฒ
out
๋๋ ํ ๋ฆฌ ์ดํด๋ณผ ๊ฒ - ํด๋์ค๋ค์ด.class
ํ์ผ๋ก ์์ฑ
โญ๏ธ ์์ฑ์ ๋ฉ์๋ - ๋งค์ฅ์ ๋ด๋ ๋ฉ์๋
ex03
๋ฉ์๋ ์ด๋ฆ ์์ด, ๋ฐํ ํ์ (ํด๋น ํด๋์ค) ๋ค๋ก ๊ดํธ๊ฐ ๋ฐ๋ผ์ด
return
์ ๋ช ์ํ์ง ์์ - ํด๋น ํด๋์ค ํ์ ์ ์ธ์คํด์ค ๋ฐํnew
์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋์ด ์ธ์คํด์ค๋ฅผ ๋ฐํํ์ ์์ฑ ์๋ - ์ธ์ ๋ ๊ฐ์ ๋ด์ฉ์ ์ธ์คํด์ค๋ฅผ ๋ฐํํ ๊ฒฝ์ฐ
์์ฑ๋์ง ์์์ ๊ฒฝ์ฐ์๋ ์ธ์ ์์ด ํธ์ถ (์ด์ ์์ ํ์ธ)
โญ๏ธ ์ฝ๋์ ์์ฑํ์ง ์์๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋ ์์ฑ
.class
ํ์ผ์์ ํ์ธ ๊ฐ๋ฅ
์๋์์ฑ
๋ฉ๋ด - ์ฝ๋ - ์์ฑ
์๋์ฐ:
alt
+insert
๋งฅ:
command
+N
์์ฑ์
์ ํname
๊ณผprice
์ ํ
๐ก ์์ฑ์๋ฅผ ์์ฑํ์ง ์๋๋ค๊ณ ์์ฑ์๊ฐ ์๋ ๊ฒ์ด ์๋
ex02
์ ์ปดํ์ผ๋ ํ์ผ DancingCup.class
์ดํด ๋ณผ ๊ฒ
โญ๏ธ this
- ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํด
this
- ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํดintro
๋ฉ์๋ ๋ธ๋ ์ดํฌํฌ์ธํธ์์this
ํญ๋ชฉ ํ์ธno
์name
์this
๋ฅผ ๋ถ์ธ ๊ฒ๊ณผ ๊ฐ์
๋ฉ์๋ ๋ด์์ ๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ ์ธ์๊ฐ ์๋ค๋ฉด ์๋ณ์๋
this
์ ํ๋๋ฅผ ๊ฐ๋ฆฌํด๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ ์ธ์๊ฐ ์๋ค๋ฉด ๋ฎ์ด์์์ง
ํ๋์๋
this
๋ฅผ ๋ถ์ฌ ๊ตฌ๋ถ์์ฑ์์์
this
๋ฅผ ๋นผ๊ณ ์คํํด ๋ณผ ๊ฒintro
์์ ์ฃผ์ ํด์ ํด ๋ณผ ๊ฒ,this
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ํด ๋ณผ ๊ฒ
Last updated