본문 바로가기
Programming/Python

[Python] Python 은 객체 지향 언어인가?

by 코딩의성지 2020. 4. 8.

하이 ㅎㅎ

 

요즘 Python 의 재미에 푹 빠졌다... ㅎㅎ 어서 기본적인 공부 끝내고 크롤링하고 싶은데 ... 쉽지가 않다.

 

결론 부터 말하자면 Python 은 객체지향 언어이다. ㅎㅎ

 

근데 .. 왜이리 파이썬이 객체지향언어 같지 않게 느껴지지 하는 분들 있을 것이다.

 

아마도 내생각에는 파이썬이 데이터 분석이나 통계 쪽으로 많이 활용되고 있어서 , 객체간의 통신이 아닌 사용자 정의 함수를 만들어 절차지향적인 코딩을 통해서 많이들 사용하기 때문이 아닐까 생각한다.

 

그래도 !! 파이썬은 객체지향 언어라는 거 알아두자.

 

오늘은 간단하게 객체지향언어라는 것을 증명하기 위해 파이썬으로 클래스를 하나 만들고 그 클래스로 객체를 하나 만들어 메서드를 사용해보는거 간단하게 코딩해볼꺼다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
class User():
    name = ''
    age = 0
    gender = ''
    
    def set_name(self, name):
        self.name = name
        
    def get_name(self):
        return self.name
    
    def set_age(self, age):
        self.age = age
        
    def get_age(self):
        return self.age
    
    def set_gender(self, gender):
        self.gender = gender
        
    def get_gender(self):
        return self.gender

정말 간단한 코드이다. 아주 일반적인 Getter & Setter 가 있는 클래스를 하나만들었다. ㅎㅎ 자바나 c++ 같은 객체지향 언어를 사용하셨던 분들은 이해하기 그리 어렵지 않을 것이라 생각한다. 

 

조금 특이한게 self라는 게 있는데, 자바의 this 와 비슷한 역할을 한다고 생각하시면 된다.

 

그리고 해당 클래스로 객체를 만들어서 사용하는 걸 구현해보자.

 

1
2
3
4
5
6
user1 = User()
user1.set_name('kang')
user1.set_age(31)
user1.set_gender('M')
 
print("name : " , user1.get_name() , ", age : ", user1.get_age() , ", gender : " , user1.get_gender())

자 !! 그러고 결과를 보면 ㅎㅎ !!

 

이렇게 잘 세팅된거 볼 수 있다.

 

객체지향의 개념을 이해하는 것은 쉽지 않다. 만약 파이썬을 통해 하나의 어플리케이션을 만들어 낸다면 ! oop 개념은 필! 수 ! 적이라는 것 기억하자.

 

혹시 oop 에 대해 공부하고 싶으신 분들은 아래 링크로 공부좀 하면 좋겠다 !

 

https://devkingdom.tistory.com/95?category=838914

 

[OOP] 객체 지향 설계를 해야 하는 이유

내가 컴퓨터 공학을 전공으로 선택한 후, 처음으로 흥미를 느낀 영역은 객체 지향 프로그래밍 (OOP) 이었다. 심지어 휴학을 하고 한 학기 동안 객체지향만 공부한 적도 있었다. (그렇다고 잘하는 건 아니다 ㅜ_ㅜ)..

devkingdom.tistory.com

https://devkingdom.tistory.com/96?category=838914

 

[OOP] 니객망 1탄 - 객체지향 프로그래밍 이란?

하이~ 어렸을 때 부터 나는 농구를 좋아했고, 고향팀인 창원 LG팀을 거의 20년 넘게 응원하고 있다. 창원 LG 감독 중에 강을준이라는 감독이 있었는데 작전 타임때 종종 구수한 사투리로 ...! '니가 갱기를 망치고..

devkingdom.tistory.com

자 오늘은 여기까지 포스팅하도록 하겠다. ㅎㅎ 그럼 모두 열공~~

반응형

댓글