콘텐츠로 건너뛰기
Home » 기초

기초

Python 101 – 클래스

이 글을 읽으시는 파이썬을 공부하는 여러분은 아마도 들어보셨겠지만, 파이썬은 객체 지향 언어입니다. 객체 지향 언어는 객체 지향 프로그래밍이라는 패러다임을 따르는 방식으로 설계된 언어입니다. 그리고 클래스는 어떤 객체를 정의해놓은 청사진과 같다고들 합니다. 그래서 클래스가 무엇인지를 이해하려면 먼저 객체가 무엇인지를 알아야겠네요. 위키 백과에서 객체에 대해 찾아보면 다음과 같은 설명을 찾을 수 있습니다.

컴퓨터 과학에서 객체 또는 오브젝트(object)는 클래스에서 정의한 것을 토대로 메모리에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다.

여러 편집자들이 고민하여 작성한 설명이겠지만, 이 설명만 들어서는 객체가 무엇인지 알기가 어렵습니다. 사실 객체의 개념은 워낙 추상적이라 일상의 언어로 정확하게 설명하기란 어렵습니다. 그래서 대략의 어설픈 이해를 바탕으로 접근해서, 객체가 어떤 식으로 사용되고 또 어떻게 만들 수 있는지를 받아들이는 편이 좋을 듯 합니다. 사실 학문적으로 엄밀하고 정확한 이해보다는 어떻게 만들고 사용할 수 있는지를 아는 것이 더 중요하니까요.

더 보기 »Python 101 – 클래스

vim script 함수 총정리

vim에서 자주 사용하는 간단한 매크로는 키 맵으로 정의해서 사용할 수 있다. 하지만 여러 명령을 결합하거나, 데이터를 조작하거나 상황에 따라서 분기해야하는 등의 좀 더 복잡한 동작을 구현하기 위해서는 함수가 필요하다. vim script에서도 함수를 지원하고 있어서 이를 활용할 수 있는데, 오늘은 함수를 정의하고 사용하는 여러 방법에 대해서 정리해보도록 하겠다. 가능하면 이 포스트 하나로 vim 스크립트에서 함수를 정의하고 사용하는 것과 관련된 내용은 모두 다뤘으면 한다. (그리고 이후에 vim script 관련 포스팅을 하더라도 참고용으로 긴 설명 글이 필요하기도 하고…)

더 보기 »vim script 함수 총정리

LiveScript 살펴보기 – 03 함수

LS에서 함수는 일반 문법 편에서 잠깐 언급했듯이 화살표를 써서 간단히 정의할 수 있다. 이 함수 표현에서 중요한 점 두 가지는 첫 째 우변은 하나 이상의 표현식이라는 점과 표현식이 순서대로 나열되는 경우 맨 마지막 표현식의 결과가 자동으로 리턴된다는 것이다. 함수 LS는 함수형 프로그래밍 언어의 스타일을 많이 도입했다고 하였다. 비록 LS가 진짜 순수한 함수형 언어는 아니지만, 함수형 언어의 스타일을 도입한다는 것은 LS내의 함수라는 것은 가급적 아래와 같은 특징을 갖도록 디자인되어야 한다는 것이다. 순수성 : 함수의 결과값이 순수하게 파라미터에만 의존할 것. 따라서 입력된… 더 보기 »LiveScript 살펴보기 – 03 함수