VisualWorksTutorial1:Page03

From 흡혈양파의 번역工房
Jump to navigation Jump to search

cincom_tutorial_vwlogo
cincom_tutorial_cincomlogo

웹로그 통계 레슨 2
화면출력

cincom_tutorial_stlogo

| 목차 | 레슨1 | 레슨3 |
cincom_tutorial_openbook Smalltalk 코드를 기술하여 테스트할 경우, VisualWorks가 기대한대로 움직이는지 확인할 방법이 필요합니다. 즉 프로그램의 동작을 보는 것이 필요합니다. GUI 개발이 및 외부 파일에 데이터를 쓰는 것 이외에, 이 레슨에서는 화면에 출력하는 편리한 방법을 설명하겠습니다.
cincom_tutorial_certificate 이 레슨에서는 VisualWorks가 제공하는 네 가지 기본적인 피드백을 설명하겠습니다.
cincom_tutorial_design VisualWorks가 제공하는 네 가지 기본적인 피드백이란,
  • 프린트(<조작>메뉴)
  • Inspect(<조작>메뉴)
  • System Transcript
  • 심플 다이얼로그 박스(Simple Dialog Box)

VisualWorks에서 Smalltalk 코드를 쓰는 간단한 방법은 Workspace를 사용하는 것입니다. Workspace를 Smalltalk 코드 입력 및 테스트를 할 수 있는 장소입니다. Workspace를 열기 위해서는 VisualWorks 메인 런쳐 윈도우에서 툴바 맨뒤 버튼을 클릭하거나, Toolbar>>Workspace 메뉴를 선택해주십시오. 이로써 새 창(Workspace)이 열립니다. 그림 2-1 참조.

그림 2-1. VisualWorks Workspace
cincom_tutorial_steps 1. VisualWorks런쳐 화면(그림 1-1참조)의 툴바 아래 공간으로 마우스를 이동시켜주십시오
4 squared


2. 이 텍스트를 반전시키고 <오퍼레이트 클릭>프린트를 선택해주십시오.

16이 바로 우측에 표시됩니다. 수학적인 설명을 하자면 “숫자 squared”는 숫자에 자기 자신을 곱하라는 의미입니다.(제곱을 하라는 뜻) 그렇기에 이 경우에는 4x4입니다.

그림 2-2. VisualWorks의 Workspace에서 프린트를 선택


3. 다시 텍스트를 반전시키고 <오퍼레이트 클릭>Inspect를 선택합니다.

새로운 화면이 표시됩니다.(Inspecter 화면)


4. Inspecter 화면 왼쪽창의 self를 클릭(반전)해주십시오.

오른쪽 창에 self값인 16이 표시됩니다. 16의 값을 16진수, 8진수, 2진수로 알고 싶은 경우에는 왼쪽 창에 각각의 단어를 클릭해주십시오. Self는 수치를 10진수로 표시합니다.


그림 2-3. VisualWorks Inspecter 화면


5. Inspecter 화면을 닫아주십시오.


6. 새로운 언어를 소개하는 데에 악명 높은 “Hello World”를 쓰지 않고서야 완벽하다고 말 할 수 없겠죠? 여기서는 System Transcript를 사용한 방법을 설명하겠습니다. Workspace에 아래와 같이 입력해주십시오.

Transcript show: 'Hello World'


7. 텍스트를 반전시키고 <오퍼레이트 클릭>하여 실행을 선택해주십시오.

Hello World라는 단어가 VisualWorks의 런처 화면 표시영역에 표시됩니다. 레슨 1에서 설명한대로, 이 영역은 System Transcript라 불리며, 수 많은 Smalltalk 프로그래머가 디버그를 하기 위해 사용하고 있습니다.

그림 2-4. Hello World를 VisualWorks의 System Transcript에 표시


8. 다음은 심플 다이얼로그 박스를 사용해 Hello World 프로그램을 작성해봅시다. Workspace에 아래와 같이 입력해주십시오.

Dialog warn: 'Hello World'


9. 텍스트를 반전시키고 <오퍼레이트 클릭>실행을 선택해주십시오.

다이얼로그 박스 중앙에 Hello World라고 표시됩니다.

그림 2-5. 심플 다이얼로그 박스를 사용해서 표시한 Hello World


10. OK를 클릭해주십시오.

cincom_tutorial_design Smalltalk의 기본

제공된 피드백 맨뒤에 있는 뒤의 두 가지 예문에서 Smalltalk 코드를 실제로 작성하여 실행해보았습니다. 아마 표면상으로는 “문”이 COBOL의 Dispaly문이나 Visual Basic의 Print 명령처럼, 다른 언어에서 봤을법한 통상적인 프로그래밍 명령처럼 보였을 것입니다. 하지만 Smalltalk에 있어서는 그렇지 않습니다.

“순수한 객체지향(객체지향)”언어로 분류되는 Smalltalk는 다른 언어들과는 약간의 차이가 있습니다. Smalltalk에서 무언가를 하기 위해서는 객체에 메시지를 전달해야 할 필요가 있다는 점입니다. 맨 마지막 문을 강조하자면 “Smalltalk에서 무언가를 발생시키는 유일한 방법은, 객체에 메시지를 전달하는 방법 뿐”이라는 것입니다.

예를 들어, 식 4 squared를 사용합니다. squared라는 용어는 Smalltalk에서 볼 때 “명령”도 “함수”도 아닙니다. 아래에서 설명하겠습니다.

숫자 4는 SmallInteger클래스의 인스턴스입니다. Integer클래스의 서브셋(부분집합)(참고로 integer는 정수입니다)인 SmallInteger클래스는 정수를 생성하는 방법이나 squared가 무엇을 실행할 수 있는지 알고 있습니다. 객체인 4(SmallInteger클래스의 인스턴스)에는 squared메시지가 전달됩니다. Smalltalk 입장에서 보자면, “나는 무언가를 발생시키기 위한 정보를 가지고 있습니다. – 메시지는 객체에 대하여 전달됩니다”가 되며, 4 곱하기 4가 실행되어, 식 “4 squared” 옆에 16이 표시됩니다.

만일 위 내용을 통해 혼란을 야기하셨다면, 그건 아마도 객체지향 전문지식에 대한 설명을 들어보신 적이 없어서 그럴 것입니다. 객체지향 입문서를 읽는 것을 강력히 권합니다. 앞으로 나올 클래스, 객체, 메시지에 관련된 설명을 알 수 있게 될 것입니다. 이제부터 튜토리얼에서는 코드예문을 설명하는 중에 객체지향 전문용어를 사용할 것입니다. 입문서에서는 이러한 설명을 조금이라도 이해할 수 있을 정도의 객체지향의 기본적인 지식(이해)를 얻을 수 있습니다.

cincom_tutorial_dominoes.gif 입문서 : 객체지향의 원리
cincom_tutorial_certificate 정리

아래와 같은 내용을 학습하였습니다

  • Workspace를 연다
  • (<조작>메뉴에서)Print를 사용하여 VisualWorks에 피드백
  • (<조작>메뉴에서)Inspect를 사용하여 VisualWorks에 피드백
  • System Transcript를 사용하여 VisualWorks에서 피드백
  • 단순한 다이얼로그 박스를 사용하여 VisualWorks에 피드백

| 목차 | 레슨1 | 레슨3 |