-
728x90๋ฐ์ํ
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
ํ์ค ์ธ๊ณ ๊ฐ์ฒด, ํด๋์ค, ๊ฐ์ฒด์ ๊ด๊ณ ํ์ค์ ๊ฐ์ฒด๊ฐ ๊ฐ๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ถ์ํ ๋์ด ํด๋์ค์ ์ ์๋๊ณ , ํด๋์ค๋ ๊ตฌ์ฒดํ ๋์ด ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด(instance, object) ๊ฐ ๋๋ค.
EX: ๋ถ์ด๋นต ํ == type ๊ท์
๋ถ์ด๋นต == ๊ฐ์ฒด์ฆ, ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์ ์ํด ๋์ ๊ฐ์ฒด์ ์ค๊ณ๋ or ํ๋ก ์ง์ ์ฌ์ฉํ ์ ์๊ณ ์ง์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ "ํ" ์ ์ ๊ณตํ ๋ฟ์ด๋ค. ๋ฐ๋ฉด**, ๊ฐ์ฒด** (instance, object ) ๋ ํด๋์ค๋ฅผ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋ ๊ฒ์ด๋ค.
/* ๋ถ์ด๋นตํ ํด๋์ค๋ ํ์ผ ๋ฟ,* ์ง์ ์ฌ์ฉํ ์ ์๋ค*/Public class ๋ถ์ด๋นตํ{// ๋งด๋ฒ ๋ณ์:String Name, Fillings ;int age; //unit: min// ๋ฉ์๋ :boolean ์๋๋ค (age) {age = this.age;return age>= 10 ? true : false;}}/* ๋ถ์ด๋ฉ์ด์ปค๋ผ๋ ํด๋์ค์์,* ๋ถ์ด๋นต*/public class ๋ถ์ด๋ฉ์ด์ปค {public static void main(String[]args){๋ถ์ด๋นตํ ๋ถ์ด๋นต = new ๋ถ์ด๋นตํ();๋ถ์ด๋นต.Name = "๋ถ์ด ์๋ ๋ถ์ด๋นต";๋ถ์ด๋นต.age = "1";๋ถ์ด๋นต.fillings = "์ํฌ๋ฆผ";๋ถ์ด๋นต.์๋๋ค(age) ; //๊ฒฐ๊ณผ: false}}๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋?
๐คฆ๐ปโโ๏ธ OOP is APIE,
A : bstraction (์ถ์ํ) - ํ๋์ ๊ฐ์ฒด๋ฅผ ์ถ์ํ ํด์ ํด๋์ค๋ฅผ ๊ตฌ์ฑ
P : olymorphism (๋คํ์ฑ) - ํ๋์ ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ๊ฐ์ง ํ์ ์ผ๋ก ์ฐธ์กฐ
I : nheritacne (์์) - ๋ถ๋ชจํด๋์ค์ ์์ฐ์ ๋ฌผ๋ ค๋ฐ์ ์์์ ์ ์ํจ์ผ๋ก ์ฝ๋์ ์ฌ์ฌ์ฉ
E : ncapsulation ( ์บก์ํ) - ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ์ ์ง์ ๋ ธ์ถ์ํค์ง ์๊ณ ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ณดํธ์๋ APIE ํ์ด์ง์ ๊ฐ ๊ฐ์ฒด ์งํฅ์ ์ธ ์์๋ฅผ ์ ๋ฆฌํด๋์๋ค.
์ถ์ํ ๋งํฌ : https://junebee.tistory.com/50
๋คํ์ฑ ๋งํฌ : https://junebee.tistory.com/52
์์ : https://junebee.tistory.com/51
์บก์ํ : https://junebee.tistory.com/53
<์ฃผ์ฒด ์งํฅ> ๋ถ์ด๋นต์ด ๋๋ฌด ๋จน๊ณ ์ถ์ ๋ฐ๋ชจ์จ๋, ํฅ๊ณผ ๋ฐ์ ๊ฒฝ์ํ๊ณ ๊ด์ฐ์ ๊ฐ์ ์ฒ ์ ์ป๊ณ ๋์ฅ๊ฐ์ ๊ฐ์ ์ฌ๋ จํด์ ๋ถ์ด๋นตํ์ ๋ง๋ค๊ณ ๋ฐ๊ฐ๋ฃจ๋ฅผ ๋ง๋ค๊ธฐ์ํด... โ ๋ฐ๋ชจ์จ๋ ๋ถ์ด๋นต์ ๋ชป๋จน์๋ค๊ณ ..
<๊ฐ์ฒด ์งํฅ> ๋ถ์ด๋นต์ด ๋๋ฌด ๋จน๊ณ ์ถ์ ๋ฐ๋ชจ์จ๋, ํฌ์ฅ๋ง์ฐจ์ ๊ฐ์ ๋ถ์ด๋นต์ ์ฌ์๋ค โ ๋ถ์ด๋นต ๋ ๋
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ : ๋ธ๋ก ํํ์ ๋ชจ๋ํ๋ ํ๋ก๊ทธ๋๋ฐ
- ์ ๋ขฐ์ฑ์ด ๋์ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋ค
- ์ถ๊ฐ/ ์์ / ์ญ์ ๊ฐ ์ฉ์ดํ๋ค
- ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค
728x90๋ฐ์ํ'๐ STUDY > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ (0) 2022.05.17 ์ถ์ํ (0) 2022.05.17 Class Case Exception (0) 2022.05.17 JAVA Basics (0) 2022.05.12 Variables (0) 2021.07.15 ๋๊ธ