코딩 49일차 C/C++

마스터피스·2023년 11월 27일
0

C/ C++ 

목록 보기
21/35
post-thumbnail

Python, Java, C# 등에서 찾아볼 수 있는 객체지향

  1. C#코드에서의 객체지향

C#은 기본적으로 모든 것이 객체지향인 프로그래밍 언어이며, 많은 내용을 C++에서 차용해 왔습니다.

또한 C#은 Java에서도 많은 영감을 받아 Microsoft에서 만든 프로그래밍 언어입니다.

기본적으로 C#은 Java의 편리성과 C++의 성능 모두를 만족시키기 위한 프로그래밍 언어로 개발이 되어 있으며

C#은 .Net Framework 나 Mono 위에서 동작하게 됩니다.

이전 시간에서도 살펴봤듯이 C#에서는 virtual 키워드가 존재하고, override 하였다는 것을 명시해야 하며,

이외에도 연산자 오버로딩 등의 편의성도 제공하고 있습니다.

또한 포인터 타입도 제한적으로 지원하여 더 나은 퍼포먼스를 위한 내용들을 많이 담고 있죠

하지만 아무리 그래도 C++ 만큼의 퍼포먼스는 절대로 나오지 않습니다.

태생적으로 C / C++ 만큼의 퍼포먼스를 낼 수 있는 프로그래밍 언어는

현재 주류 프로그래밍 언어 안에서는 없습니다

  1. Python에서의 객체지향
    파이썬에서의 객체지향에 대해 알아봅니다.

Python은 객체지향 코드가 다른 C스타일 언어와 다르게 굉장히 이질적인편 입니다.

생성자 또한 init 이라는 멤버 함수를 통해 이루어지게 되며,

모든 멤버 함수는 self 라는 파라미터를 받고

멤버 변수의 경우 따로 선언하는 공간이 있는 게 아닌 멤버 함수 내에서 동적으로 선언하고 관리하게 되죠

이렇게 이질적이고 어렵고 복잡해 보이지만

이 Python도 몇 번 사용하다 보면 금방 익숙해지기 마련입니다.

왜냐면 프로그래밍 언어라는 카테고리안에서 크게 다른 게 없기 때문이죠

개념만 잘 이해하고 있다면 다른 언어에서 이게 어떻게 동작하고 있는지만 간단하게 훑어봐도

그 언어를 사용하는 데 있어 큰 지장은 없습니다

  1. 파이썬의 접근 지정자

profile
코딩 일지

0개의 댓글