티스토리 뷰

Programming/HCMDS

[HCMDS][WEEK4][Python] 190607

whilescape 2019. 6. 7. 09:22

class 공부 들어갑니다.

객체지향의 요건

> > encapsulation, 캡슐화 
> > abstraction, 추상화 
> > inheritance, 상속성 
> > polymorphism, 다형성 
c++에서 한 클래스의 맴버 변수의 접근 권한은 private에 해당한다.

그렇다면 private인 멤버 변수에는 어떻게 접근해야하는가?

public interface로만 접근해라? public interface란,,
java 기준으로 생각해보면 private으로 설정할 경우, 해당 클래스의 객체 조차도 getter, setter가 public으로
존재하는 경우에만 해당 private 멤버 변수에 접근 가능하지 않은가? 

질문. 왜 c++에서 virtual을 사용하는가?

포프 강의 다시 들어보도록

override와 관련된 문제

>> 자식 측에서 오버라이드된 함수를 사용하는 것과 관련된 문제

>> Parent *myObject = new Child();

>> myObject->do(); 

>> 이떄, do()라는 함수를 Child 측에서 override 했다고 하자.

>> 그렇다면, Parent 클래스에서 do() 함수에 virtual를 붙이면

>> myObject.do();라는 명령은 부모의 do를 실행할까, 자식의 do를 실행할까? 

>> 자식의 do()를 실행한다.

파이썬에서 클래스를 만들어보고 테스트 해보자

Class HouseClass():

 Company = "python Academy"

 def __init__(self, year, address, price):

 self.year = year

 self.address = address

 self.price = price

 def show_company(self):

 print(self.Company)

 def Change_company(self,name):

 self.Company = name

 def show_info(self):

 print("""This house was built by {} in {}, address : {}, price : {} """

 .format(self.Company, self.year, self.address, self.price))



houseA = HouseClass(2019, "Guro", 34.56)

houseA.show_company()

houseA.Change_company("MDS Academy")

houseA.show_company()

houseA.show_info()

houseB = HouseClass(2020, "pangyo", 999.99)

houseB.show_info()

'Programming > HCMDS' 카테고리의 다른 글

[HCMDS][WEEK4][Python] 190605  (0) 2019.06.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함