๊ฐ์ฒด์งํฅ ์ธ์ด์์ ํด๋์ค์ “๋ฉค๋ฒ ๋ณ์(ํ๋)”๋ฅผ ์ด๋ป๊ฒ ์ ์ํ๋๋๋ ์ธ์ด๋ง๋ค ์กฐ๊ธ์ฉ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ
์์๋ Java์ Python์ ๋ฉค๋ฒ ๋ณ์ ์ ์ธ ๋ฐฉ์ ์ฐจ์ด์ ๋ํด ๊ฐ๋จํ ์ฝ๋์ ํจ๊ป ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
๐น Java: ๋ช ์์ ์ธ ์ ์ธ์ด ํ์
Java์์๋ ๋ฉค๋ฒ ๋ณ์๋ฅผ ๋ฐ๋์ ํด๋์ค์ ์ ์ ์์ญ์ ๋ฏธ๋ฆฌ ์ ์ธํด์ผ ํฉ๋๋ค.
public class Dog {
private String name;
private int age;
public Dog(String name, int age) {
this.name = name;
this.age = age;
}
}
- ํด๋์ค ๋งจ ์์์ **
private String name;
**์ฒ๋ผ ๋ช ์์ ์ผ๋ก ์ ์ธ - ์์ฑ์์์๋ ์ด๊ธฐํ๋ง ์ํ
- ํ์ ์ด ๊ณ ์ ๋์ด ์๊ณ , ์ปดํ์ผ๋ฌ๊ฐ ํ์ ์ฒดํฌ๋ฅผ ํด์ค
- ์ค์๋ฅผ ์ค์ผ ์ ์๋ ์ ์ ํ์ ์ ์ฅ์
๐ธ Python: ์ ์ธ ์์ด ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
Python์ ํจ์ฌ ์ ์ฐํฉ๋๋ค. ๋ฉค๋ฒ ๋ณ์๋ __init__()
๊ฐ์ ๋ฉ์๋ ์์์ ๋ฐ๋ก self.๋ณ์๋ช
์ผ๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค.
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
self.name = name
์์self.name
์ด๋ผ๋ ์ธ์คํด์ค ๋ณ์๊ฐ ์ฆ์ ์์ฑ๋จ- ๋ฏธ๋ฆฌ ์ ์ธํ ํ์๊ฐ ์์
- ํ์ง๋ง ์ค์๋ก ์คํ๋ฅผ ๋ด๊ฑฐ๋ ๋ค๋ฅธ ๋ฉ์๋์์ ์๋ชป๋ ์์ฑ์ ์์ฑํ ๊ฐ๋ฅ์ฑ๋ ์์
๐ก ์์ ๋น๊ต: ์ ์ธ ์์น
๊ตฌ๋ถ | Java | Python |
---|---|---|
๋ณ์ ์ ์ธ | ํด๋์ค ๋ธ๋ก ์ต์๋จ์ private String name; ๋ฑ ๋ช
์ | ์์ฑ์ ์์์ self.name = name ๋ก ๋ฐ๋ก ์์ฑ |
๋ณ์ ํ์ | ๋ฐ๋์ ์ง์ (int , String , etc) | ๋์ ํ์ดํ (int , str ๋ฑ ์๋ ์ธ์) |
์์ฑ์ ์ญํ | ์ด๋ฏธ ์ ์ธ๋ ๋ณ์์ ๊ฐ๋ง ํ ๋น | ์ ์ธ + ํ ๋น์ ๋์์ ์ํ |
์ ์ฐ์ฑ | ๋ฎ์ (์ปดํ์ผ ํ์ ์ฒดํฌ) | ๋์ (๋ฐํ์์ ๋ณ์ ์์ฑ ๊ฐ๋ฅ) |
โ ๋ณด๋์ค: ํด๋์ค ๋ณ์ vs ์ธ์คํด์ค ๋ณ์ (Python ์์)
class Dog:
species = "Canine" # ํด๋์ค ๋ณ์ (๊ณต์ ๋จ)
def __init__(self, name):
self.name = name # ์ธ์คํด์ค ๋ณ์ (๊ฐ๋ณ ๊ฐ์ฒด๋ง ๊ฐ์ง)
Dog.species
๋ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณต์ ํ๋ ๊ฐ,self.name
์ ๊ฐ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง.
Java์์๋ static
ํค์๋๋ฅผ ํ์ฉํ๋ฉด ๋์ผํ ํจ๊ณผ๋ฅผ ๋ผ ์ ์์ฃ .
๐ง ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ
ํญ๋ชฉ | Java | Python |
---|---|---|
๋ฉค๋ฒ ๋ณ์ ์ ์ธ | ํด๋์ค ์ ์๋ถ์ ๋ช ์์ ์ผ๋ก ์ ์ธ | ์์ฑ์ ๋๋ ๋ฉ์๋ ๋ด๋ถ์์ ๋ฐ๋ก ์ ์ ๊ฐ๋ฅ |
์ ์ธ์ ์ ๋ฌด | ์ ์ธ ํ์ | ์ ์ธ ์๋ต ๊ฐ๋ฅ |
์ ๊ทผ์ ์ด | private , public , protected ๋ฑ ๋ช
ํํจ | ๋ช
์์ ์ ์ด์ ์์ (_ , __ ๋ก ๊ด๋ก ํ์) |
์ค์ ๋ฐฉ์ง | ๋์ ์์ ์ฑ (์ปดํ์ผ ํ์ ์ค๋ฅ) | ์ ์ฐํ์ง๋ง ์ค์์ ์ทจ์ฝ |
Python์ ์ฒ์ ์ ํ๋ Java ๊ฐ๋ฐ์๋ผ๋ฉด ์ด ์ฐจ์ด์์ โ์ด? ์ด๊ฒ ๋๋ค?โ ์ถ์ ์ ์์ต๋๋ค.
๋ฐ๋๋ก Python์ ์ต์ํ ๋ถ๋ค์ด Java๋ก ๋์ด์ค๋ฉด ๋ช
ํํ ํ์
์ ์ธ๊ณผ ์ ๊ทผ์ ์ด์ ์ฅ์ ์ ์ฒด๊ฐํ๊ฒ ๋์ฃ .
๐ ๋น์ ์ ์ด๋ ์ชฝ ์คํ์ผ์ด ๋ ์ต์ํ์ ๊ฐ์?
๊ฐ๊ฒฐํจ์ ์ค์ํ๋ค๋ฉด Python, ์์ ์ฑ์ ์ค์ํ๋ค๋ฉด Java!
๋ ์ธ์ด๋ฅผ ๋๋๋๋ ๊ฐ๊ฐ์ ํค์๋ณด์ธ์ ๐
๋ต๊ธ ๋จ๊ธฐ๊ธฐ