꾸벅..^^;
먼저 저의 설명부터.^^;
-- procedure 와 function 의 차이점? --
1/ procedure 은 return value 가 없다.( 정말 없나? --?)
2/ function 은 리턴값이 있다..(있더군요.^^;)
지금까지 전 이렇게 알고있었습니다.근데.오늘 하나의 코드를 보고 의문점
procedure TForm1.미쳐버려(Sender Tobject);
var
str : String;
begin
str := '1';
돌아버려(str);
if str : ='2' then
begin
Application.massagebox('str은 '2' 이다.','돌아버려',mb_ok+mb_iconinformation);
end;
Application.messagebox('str은 '1'이다.','미쳐버려',mb_ok+mb_iconinformation);
end;
procedure TForm1.돌아버려(var str:string);
begin
str := '2'
end;
이런 코드가 있다면 procedure 미쳐버려의 변수str 은 '2'가 됩니다.
즉 변수 리턴이 된다(?) 는것인데..그럼...함수는 왜 만들었죠?
제 짧은 생각으론 함수와 프로시쳐의 차이점을 모르겠슴다.
함수는 자신은 변하지 않고도 리턴값을 줄수있다.? 뭐 이런건가요?
호기심이 강한놈이길래 ... 다른 차이점이 분명히 있다고 확신하고 질문 던집니다.
잘 알거나..대뜸 짚히는 것이 있으신분들은 게시 바랍니다.
procedure는 리턴이 없고 function은 리턴이 있는거가 맞습니다.
델파이 뿐 아니라 C에서도 마찬가지로 리턴이 있는것과 없는것이 따로 있지요...
두 가지의 용도가 다릅니다.
procedure는 일반적인 실행구문이고
function은 주로 유틸리티로 사용됩니다.
예를들어..
IntToStr같은경우
procedure보더는 function아 낫지요... 이해하기가 쉽다는 말입니다.
쩝~
그럼
평안하시길~