ํด๋์ค4 [Java] ์์๊ณผ ๋ฉ์๋ ํ์ฅ์ผ๋ก ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ ๋์ด๊ธฐ ๋ชฉ์ฐจ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ ฅํ ํน์ง ์ค ํ๋๋ “์ฌ์ฌ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ”์ ๋๋ค.์ด์ ์ ์์ฑํ ์ฝ๋๋ฅผ ์ฌํ์ฉํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋ค ์ ์๋ค๋ฉด, ๊ฐ๋ฐ ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํ ์ ์์ฃ .์ด ๊ฐ๋ ์ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ํ์ ์ธ ๋๊ตฌ๊ฐ ๋ฐ๋ก ์์(Inheritance) ์ด์ฃ . ์ด๋ฒ ํฌ์คํ ์์๋ ์์์ ํตํด ํด๋์ค๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ค๋ฒ๋ก๋ฉ(Overloading)์ค๋ฒ๋ก๋ฉ(Overloading)๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ(Overriding)์ ๋น๊ตํ๋ฉฐ Java์์ ๋ฉ์๋๋ฅผ ์ด๋ป๊ฒ ์ ์ฐํ๊ฒ ํ์ฉํ๋์ง๋ฅผ ํจ๊ป ์์๋ณด๊ฒ ์ต๋๋ค.๐ ์์๊ณผ super ํค์๋์์(Inheritance)์ด๋?์์์ ๊ธฐ์กด ํด๋์ค(๋ถ๋ชจ)๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ํด๋์ค(์์)๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค.๋ถ๋ชจ ํด๋์ค์ ํ๋์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค๊ฐ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์ ์.. 2025. 5. 12. [Java] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ ๋ชฉ์ฐจ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง, ๊ทธ์ค์์๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming, OOP)์ ํ๋ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ์ ๋๋ค. Java๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.์ฆ, ์ฐ๋ฆฌ๊ฐ ํ์ค ์ธ๊ณ์ ์ฌ๋ฌผ์ ๊ฐ์ฒด๋ก ๋ณด๊ณ , ์ด๋ฅผ ์ฝ๋๋ก ๋ชจ๋ธ๋งํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ด์ฃ . ์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ์ฒด์งํฅ์ ์์์ ์ธ ํด๋์ค์ ๊ฐ์ฒด, ์์ฑ์์ this ํค์๋, ์บก์ํ์ ์ ๊ทผ ์ ์ด์๊น์ง OOP์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํด ๋ณผ๊ฒ์!๐ฆ ํด๋์ค์ ๊ฐ์ฒดํด๋์ค(Class)๋?ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ค๊ณ๋ ๋๋ ํ ํ๋ฆฟ์ ๋๋ค. ๊ฐ์ฒด๊ฐ ๊ฐ์ ธ์ผ ํ ์์ฑ(ํ๋)๊ณผ ๊ธฐ๋ฅ(๋ฉ์๋)์ ์ ์ํด ๋์ ํ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ์.public class Car { String color; int .. 2025. 5. 11. [Swift] ํด๋์ค์ ๊ตฌ์กฐ์ฒด ํด๋์ค VS ๊ตฌ์กฐ์ฒด๊ณตํต์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ํ๋กํผํฐ ์ ์๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ๋ฉ์๋ ์ ์ subscript ๋ฌธ๋ฒ์ ์ด์ฉํด ํน์ ๊ฐ์ ์ ๊ทผํ ์ ์๋ subscript ์ ์์ด๊ธฐ ์ํ๋ฅผ ์ค์ ํ ์ ์๋ initializer ์ ์๊ธฐ๋ณธ ๊ตฌํ์์ ๊ธฐ๋ฅ ํ์ฅํน์ ํ ์ข ๋ฅ์ ํ์ค ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ํ๋กํ ์ฝ ์์(conform)์ฐจ์ด์ (ํด๋์ค๋ง ๊ฐ๋ฅ)์์ (Inheritance): ํด๋์ค์ ์ฌ๋ฌ ์์ฑ์ ๋ค๋ฅธ ํด๋์ค์ ๋ฌผ๋ ค ์คํ์ ์บ์คํ (Type casting): ๋ฐํ์์ ํด๋์ค ์ธ์คํด์ค์ ํ์ ์ ํ์ธ์๋ฉธ์ (Deinitializers): ํ ๋น๋ ์์์ ํด์ (free up) ์ํด์ฐธ์กฐ ์นด์ดํธ (Reference counting): ํด๋์ค ์ธ์คํด์ค์ ํ๋ ์ด์์ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ฃผ ๋ชฉ์ ์ด ๊ด๊ณ๋ ๊ฐ๋จํ ๊ฐ.. 2024. 3. 19. [Swift] ํด๋์ค(Class)์ ๊ตฌ์กฐ์ฒด(Struct) ํด๋์ค(Class) ํด๋์ค๋ฅผ ์ ์ํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉ ๊ฐ๋ฅ ํด๋์ค๋ฅผ ๋ง๋ค์ด ํด๋์ค์์ ์์ฑ๋ ๊ฐ์ฒด์ธ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฌ์ฉ ํด๋์ค ์์ ๋ณ์ ํ๋กํผํฐ(Property)์ ํด๋์ค ์์ ํจ์ ๋ฉ์๋(Method)๋ก ๊ตฌ์ฑ class Name { var name = "Hyebin" //ํ๋กํผํฐ //๋ฉ์๋ func my_name() { print("my name is \(name)") } } //์ธ์คํด์ค ์์ฑ let hyebin : Name = Name() print(hyebin.name)// Hyebin hyebin.my_name()// my name is Hyebin hyebin.name = "yoo" hyebin.my_name()// my name is yoo ํด๋์ค ์ด๊ธฐํ (Initialization).. 2023. 2. 6. ์ด์ 1 ๋ค์ ๋ฐ์ํ