1.
데이터와 기능이 클래스로 '캡슐화'된 컴퓨터 자원의 묶음을 '객체'라고 한다. 객체(object)
객체 지향 프로그래밍이란 개념이 나오기 전에는
마치 흙을 빚어서 집을 짓는 것처럼, 아무런 데이터도 없는 컴퓨터 자원들을 삽으로 떠다가 하나하나 명령어를 줘가면서 코드를 짜야했다.
->학교 교실 청소를 예로 들면, 청소 구역별로 아이들을 나눈다면 1은 빗자루, 2도 빗자루, 3은 책상 밀기, 4는 걸레질, 5는 칠판.. 이런 식으로 하나하나 지목하고 일을 지정해줘야 했다.
하지만, 객체 지향이라는 개념이 나온 후로는 집 짓기를 예로,
클래스란 모양틀을 만들고 흙을 그 틀에 넣어 구우면, 모양과 용도가 뚜렷한 벽돌들이 만들어지는 거다.
2.
객체 지향의 특징 중 하나인 '은닉성'에 대해서도 생각해보자.
내부 구조는 private으로 감춰두고 외부에서 조작할 수 있는 명령어만 public으로 공개해둘수도 있다.
이로써 바깥의 간섭으로 발생할 수 있는 오류를 방지하고, 남이 만든 클래스의 객체들도 일일이 뜯어볼 필요 없이 제공되는 기능들을 그대로 사용할 수 있게 되는 것이다.
3.
클래스의 상속은 통해 보다 특수하고 구체적인 자식 클래스를 만들 수도 있다.
4.
상속은 물려 받는 것. 인터페이스는 장착하는 것
인터페이스를 장착해서 하나의 카테고리로 만들 수 있다.
5.
대표적인 객체 지향 언어로는 JAVA가 있겠지.
객체 지향 프로그래밍은 하나의 방법론이기 때문에 객체 지향 프로그래밍 언어가 아닌 다른 언어로도 객체 지향 프로그래밍을 할 수 있다.
다만 더 쉽고 어렵고의 차이다.
'낙서장' 카테고리의 다른 글
파이썬] 숫자 천 단위 콤마(,) 넣기 (0) | 2021.07.17 |
---|---|
python으로 구구단 (0) | 2021.07.09 |
댓글