"안녕. 내 이름은 라가 빌라보다. 난 외계인이고 이 우주선의 내과의사 이지. 우리가 좋은 친구가 되었으면 좋겠다."
"저도요."
"내 고향 행성에서는 후진 자바 언어 대신 고급 파스칼 프로그래밍 언어를 사용한다. 여기를 봐봐. 자바와 파스칼 코드를 나란히 비교하고 있다."
자바 | 파스칼 |
---|---|
|
|
"두 개의 다른 언어로 쓰여진, 같은 프로그램이다. 자바보다 적은 줄로 프로그램을 작성했으니 파스칼이 자바보다 더 우월하다는 증거다."
"파스칼을 전에 본 적이 있다면 이 예제가 자바를 더 잘 이해하도록 도움을 줄 거라 생각한다."
"아뇨, 파스칼을 본 적 없어요. 그래도 두 개의 프로그래밍 언어를 비교하는 것은 흥미롭지."
"그럼요. 그럼 계속하지."
"파스칼에서는 프로그램 본문, 프로시저 또는 함수에 코드를 배치한다. 자바에서는 이 과정을 단순화해서 프로그램 본문, 프로시저와 함수를 모두 메소드라는 함수로 대체하지."
자바 | 파스칼 |
---|---|
Main 메소드
|
프로그램 본문
|
함수/메소드
|
함수
|
void 리턴 유형인 함수
|
프로시저
|
"파스칼 열에는 '프로그래밍 본문', '함수', '프로시저'라는 단어가 보이지만, 자바에서는 모두 메소드라고 한다. 좀 이상한데요."
"그래, 우리 외계인들은 아주 이상하다고 생각해. 하지만 인간은 뭐든지 통일하는 것을 좋아하지."
"자바에서는 모든 코드가 메소드의 일부라서 메소드를 선언하려고 파스칼처럼 Function이라는 단어를 쓸 필요조차 없거든."
"모두 아주 간단해. 코드 행이유형 + 이름처럼 보인다면, 그건 메소드나 변수 중 하나를 선언하는 거다. 이름 뒤에 괄호가 붙으면 새 메소드를 선언하고, 괄호가 없으면 변수를 선언하는 것이다."
"자바에서 변수 선언과 메소드 선언은 매우 흡사하다. 직접 확인해봐."
코드 | 설명 |
---|---|
|
name 이라는 변수는 String , 즉 문자열입니다. |
|
getName 이라는 메소드는 String 을 반환합니다. |
"하지만 그게 다가 아니다. 자바에서는 메소드가 고립되어 존재할 수 없다. 메소드는 반드시 클래스 안에 있어야 한다. 따라서 인간이 자바에서 작은 프로그램 하나를 작성할 때는 우선 클래스를 만들어 그 클래스 안에 주요 메소드를 선언해야 하지. 그렇게 했을 때 비로소 메소드에 코드를 쓸 수 있다. 지구인들은 정말 이상하다!"
"디에고가 오늘 평소보다 일찍 들렀는데, 이 과제들을 네게 주라고 했다. 네가 과제를 좋아하면 좋겠다."
GO TO FULL VERSION