----------------------------------------
**์์ฑ์ ( Constructor )
-๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์์ด์ผ ํ ๊ฐ ๋๋ ์ฝ๋๋ฅผ ์ ์ํ๋ ๊ณณ
-method์ ์ผ์ข
-๊ฐ์ฒดํ ํ ๋์๋ง ํธ์ถ ๊ฐ๋ฅ (new๋ก๋ง ํธ์ถ ๊ฐ๋ฅ)
-์์๋์ง ์๋๋ค
-ํด๋์ค์ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ ๋ง๋ ๋ค
-์์ฑ์ ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ ๋ this๋ super๋ฅผ ์ฌ์ฉํ๋ค
-์์ฑ์๋ Overload๊ฐ ์ง์ ๋๋ค
์์ฑ๋ฒ)
์ ๊ทผ์ง์ ์ ํด๋์ค๋ช
( ๋งค๊ฐ๋ณ์,,,,) {
๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์์ด์ผํ ๊ฐ ์ค์
์ ๊ทผ์ง์ ์
public : ํด๋์ค ์ธ๋ถ์์ ๊ฐ์ฒด์์ฑ ๊ฐ๋ฅ
protected : ๊ฐ์ ํจํค์ง์ ๋ค๋ฅธ ํด๋์ค์์ ๊ฐ์ฒด์์ฑ๊ฐ๋ฅ
ํจํค์ง๊ฐ ๋ค๋ฅด๋ฉด ์์๊ด๊ณ์ ์์ ํด๋์ค์์๋ง ๊ฐ์ฒด์์ฑ๊ฐ๋ฅ
default : ๊ฐ์ ํจํค์ง์ ๋ค๋ฅธ ํด๋์ค์์ ๊ฐ์ฒด์์ฑ๊ฐ๋ฅ
ํจํค์ง๊ฐ ๋ค๋ฅด๋ฉด ๊ฐ์ฒด์์ฑ ๋ถ๊ฐ๋ฅ
private : ํด๋์ค ์์์๋ง ๊ฐ์ฒด์์ฑ ๊ฐ๋ฅ ( singleton pattern์ ๋์
)
----------------------------------------
ํจ์ ํธ์ถ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค.
- Call by value(๊ฐ์ ์ํ ํธ์ถ)
- Call by reference(์ฐธ์กฐ์ ์ํ ํธ์ถ)
Call by value(๊ฐ์ ์ํ ํธ์ถ)๋ ์ธ์๋ก ๋ฐ์ ๊ฐ์ ๋ณต์ฌํ์ฌ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
Call by reference(์ฐธ์กฐ์ ์ํ ํธ์ถ)๋ ์ธ์๋ก ๋ฐ์ ๊ฐ์ ์ฃผ์๋ฅผ ์ฐธ์กฐํ์ฌ ์ง์ ๊ฐ์ ์ํฅ์ ์ค๋ค.
๊ฐ๋จํ ๋งํด ๊ฐ์ ๋ณต์ฌ๋ฅผ ํ์ฌ ์ฒ๋ฆฌ๋ฅผ ํ๋๋, ์๋๋ฉด ์ง์ ์ฐธ์กฐ๋ฅผ ํ๋๋ ์ฐจ์ด๋ค.
Call by value(๊ฐ์ ์ํ ํธ์ถ)
์ฅ์ : ๋ณต์ฌํ์ฌ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์ ํ๋ค. ์๋์ ๊ฐ์ด ๋ณด์กด์ด ๋๋ค.
๋จ์ : ๋ณต์ฌ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฌ์ฉ๋์ด ๋์ด๋๋ค.
Call by reference(์ฐธ์กฐ์ ์ํ ํธ์ถ)
์ฅ์ : ๋ณต์ฌํ์ง ์๊ณ ์ง์ ์ฐธ์กฐ๋ฅผ ํ๊ธฐ์ ๋น ๋ฅด๋ค.
๋จ์ : ์ง์ ์ฐธ์กฐ๋ฅผ ํ๊ธฐ์ ์๋ ๊ฐ์ด ์ํฅ์ ๋ฐ๋๋ค.
์๋ฐ์์์ Call by value, Call by reference
C์ธ์ด์์๋ ํฌ์ธํฐ๋ฅผ ์ด์ฉํด์ ๋งค๊ฐ๋ณ์์ ์ฃผ์๊ฐ์ ๋๊ฒจ ์ฐธ์กฐ(Reference)ํ ์ ์๋ค.
JAVA์์๋ ํฌ์ธํฐ๊ฐ ๋ฐ๋ก ์์ผ๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ๋งค๊ฐ๋ณ์๋ Call by Value์ง๋ง
์์ธ์ ์ผ๋ก ๋ฐฐ์ด๊ณผ ํด๋์ค๋ ์ฐธ์กฐ๋ณ์๋ก Call by Reference๋ก ์๋ํ๋ค.
----------------------------------------
**this
๊ฐ์ฒด์ ์ฃผ์๋ก ๋ณํ๋๋ ํค์๋
method ํ์, ํค์๋ ํ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
*keywordํ์
๊ฐ์ฒดํ ํ instance method ์์ ์๋ต๋์ด ์๋ค.
method๋ฅผ ํธ์ถํ๋ ๊ฐ์ฒด์ ์ฃผ์๋ก ๋ณํ๋๋ค.
method๋ฅผ ํธ์ถํ๋ ๊ฐ์ฒด์ instance ๋ณ์, instance method๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
static ์์ญ์์๋ ์ฌ์ฉํ ์ ์๋ค.
instance ์์ญ์์๋ง ์ฌ์ฉํ ์ ์๋ค.
์ฌ์ฉ๋ฒ)
-instance ๋ณ์๋ฅผ ์ฌ์ฉํ ๋
this.๋ณ์๋ช
-instance method๋ฅผ ํธ์ถํ ๋
this.method๋ช
(๊ฐ,,,);
*methodํ์ (๋ณดํต ์์ ๋ค์ด๊ฐ๋ฉด ์)
์์ฑ์ ์์์ ๊ฐ์ฒดํ ์์ด ํด๋์ค์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉ
์์ฑ์์ ์ฒซ ๋ฒ์งธ ์ค์์๋ง ์ฌ์ฉํ ์ ์๋ค.
์ฌ๊ทํธ์ถ์ด ๋๋ ์ํฉ์ด ์๊ธฐ๋ฉด error๊ฐ ๋ฐ์.
super ์๋ฆฌ์ this๋ฅผ ์ฌ์ฉํ๋ค.
์ฌ์ฉ๋ฒ)
this(๊ฐ,,,,);
'๐ ๊ตญ๋น์ง์ํ์ > ๐Java ์์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํ์ 221219(์) 2์ฐจ์๋ฐฐ์ด (0) | 2023.01.17 |
---|---|
[Java] ํ์ 221216(๊ธ) ์ฐธ์กฐํ๋ฐ์ดํฐํ, String ํด๋์ค ์ด์ฉํ๊ธฐ, array(๋ฐฐ์ด) (0) | 2023.01.17 |
[Java] ํ์ 221212(์) ๋ณ์, ๊ฐ์ฒดํ, method (0) | 2023.01.16 |
[Java] ํ์ 221208(๋ชฉ) ์ ์ด๋ฌธ, ๋ฐ๋ณต๋ฌธ (0) | 2023.01.16 |
[Java] ํ์ 221207(์) Package, ์ดํด๋ฆฝ์ค (0) | 2023.01.16 |