본문 바로가기

클래스

(3)
클래스의 관계 표현, object 클래스 클래스의 관계 표현 is - a 관계 (상속을 통해 표현) 한 클래스가 다른 클래스의 하위 클래스(subclass)임 을 나타냄 하위 클래스는 상위 클래스의 모든 속성과 메서드를 상속 받음 이 관계는 일반적으로 "A는 B의 종류다" 라는 형태로 설명 예) "강아지" 클래스가 "동물" 클래스의 하위 클래스면, "강이지는 동물의 종류이다"라고 할 수 있다. has - a 관계 (포함하는 관계) 한 클래스의 객체가 다른 클래스의 객테를 속성으로 포함하고 있는 경우를 나타냄 이 관계는 일반적으로 "A는 B를 가지고 있다" 라는 형태로 설명 예) "자동차" 클래스가 "엔진" 클래스의 객체를 속성으로 가진다면. "자동차는 엔진을 가지고 있다" 라고 할 수 있음. object 클래스 object 클래스는 파이썬에서 ..
클래스(Class), 클래스 변수와 객체 변수, __init__ 클래스 변수와 객체변수를 알아보자. 클래스 변수 = 하나의 클래스로 만들어지는 모든 객체가 공유하는 변수 객체 변수(self 사용) = 객체가 생성될 때마다 만들어지는 각 객체가 별도로 가지는 변수 다음을 보며 알아보자! class Person: # 클래스 정의 dept = "" # 비어있는 클래스 변수 생성 def setinfo(self, name, age): # self를 사용한 객체 변수 생성 self.name = name self.age = age def printinfo(self): print(Person.dept, self.name, self.age) Person.dept = "영업부" # 클래스 변수 정의! p1 = Person() # p1에 Person클래스를 사용한다는 선언. p1.set..
클래스(Class), 객체지향 프로그래밍 OPP(Object Oriented Programing) 객체지향 프로그래밍이란? 현실세계를 모델링 하기위한 기법. 최초의 프로그래밍 언어들은 모두 ‘절차지향언어’였는데요, 대표적인 예로 ‘C언어’가 있습니다. C언어의 경우, ‘함수(function)’기능은 사용할 수 있지만 ‘클래스(Class) — 변수와 함수를 집합으로 활용하는 개념’ 기능은 없습니다. 따라서, 프로그래밍을 만들 때 모든 기능을 코딩해야 합니다. 이러한 ‘절차지향 방식’은 컴퓨터가 작업하는 순서와 유사하여, 컴퓨터의 연산처리 속도가 빨라진다는 장점이 있습니다. 다만, 소프트웨어의 발달로 정보량이 많아지고 다양한 기능의 요구가 늘어남에 따라 프로그램의 복잡도가 늘어나게 되면서 ‘객체지향 프로그래밍의 니즈’가 많아지게 됩니다. 객체지향 ..

728x90