본문 바로가기
프로그래밍/Ruby

[Ruby] 루비란 ?

by 별준 2020. 7. 28.

- 루비는 어떤 언어인가

루비는 1993년 마츠모토 유키히로에 의해서 만들어졌습니다.

루비는 인터프리트되고, 객체지향적(OOP)이며, 동적 타이핑 시스템을 사용하는 언어입니다.

 

인터프리트가 된다는 말은 컴파일러에 의해서 코드가 기계어로 번역되는 것이 아닌,

원시코드가 인터프리터에 의해서 한 줄씩 읽어서 실행할 수 있다는 것입니다.

(참조 : 인터프리터 - 위키백과)

 

동적 타이핑을 사용한다는 것은 자료형(type)이 컴파일 시간이 아닌 실행 시간에 결정된다는 의미입니다.

위 두 가지 방식은 유연성을 위해 안전성을 포기한 트레이드오프라고 할 수 있습니다.

 

- 객체지향프로그래밍(Object-Oriented Programming)이란?

나무위키에는 아래와 같이 설명하고 있습니다.

프로그램 설계방법론이자 개념의 일종.

프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다.

객체지향언어는 인간의 언어와 구조, 형태 등이 유사합니다.

즉, 객체지향프로그래밍은 인간 중심적 프로그래밍이라고 할 수 있습니다.

인간이 주어와 동사로 표현하는 것처럼 컴퓨터 언어도 인간과 대화하는 것처럼 주어 + 동사로 표현하는 것입니다.

OOP 기본 요소에는 클래스(Class), 객체(Object), 메소드(Method)/메세지(Message)가 있으며, 

클래스를 객체화하고, 객체가 메소드를 사용하는 것이 객체지향프로그래밍입니다.

(ex, 신은 사람을 만들때, 사람을 만들기 위한 것 틀이 있습니다. 이 틀을 class라고 하며 이 class의 이름은 Person이라고 합시다. 해당 class를 통해 각각 다른 특징을 가진 A, B, C 라는 사람을 만들었고, 이를 object라고 합니다. Class를 통해 Object를 만들었고, 이제 Object가 어떤 행위를 한다면, 이 어떤 행위가 바로 Method라고 불립니다. -> A가 밥을 먹는다. B가 출근을 한다.)

 

더 자세한 내용은 나중에 C++이나 Java에서 class에 대해서 공부할 때 다시 정리를 해야겠습니다..

(참조 : 객체지향프로그래밍 - 위키백과)

 

 

루비는 객체와 메소드의 형태로 코드를 만들고 동작합니다. 또한, 웹 개발 분야에서 생산성이라는 강점으로 확산되는 속도가 빠르고, 루비 온 레일즈라는 웹 프레임워크가 존재합니다. 

 

다음부터 루비라는 언어에 대해서 더 자세히 알아보도록 하겠습니다.

 


- Reference

브루스 테이트의 세븐 랭귀지

Ruby - 나무위키

객체지향프로그래밍 - 나무위키

Ruby - 위키백과

댓글