20. Fortran 90 Ư¡(Fortran 90 highlights)

source codeÀÇ ÀÚÀ¯ Çü½Ä(free format).
Fortran 90¿¡¼­´Â Fortran 77ÀÇ ÀÔ·Â Çü½Ä ¶Ç´Â ÀÚÀ¯ Çü½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÚÀ¯ Çü½ÄÀ» »ç¿ëÇÑ´Ù¸é fileÀÇ È®ÀåÀÚ´Â .90À̾î¾ß ÇÑ´Ù.

µ¿Àû ¸Þ¸ð¸® ÇÒ´ç(dynamic allocation)°ú pointer.
¸Þ¸ð¸®¸¦ µ¿ÀûÀ¸·Î ÇÒ´çÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ ¸ðµç ÀÛ¾÷ "work" ¹è¿­À» ¾ø¾Ù ¼ö ÀÖ´Ù.

»ç¿ëÀÚ Á¤ÀÇ data ÇüÅÂ.
CÀÇ struct ³ª PascalÀÇ record¿Í ºñ½ÁÇÏ°Ô ÀÚ½ÅÀÇ dataÇüŸ¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

¸ðµÑ (Modules).
¸ðµâ(module)À» »ç¿ëÇÔÀ¸·Î½á C++¿¡¼­¿Í °°ÀÌ object oriented style·Î ÇÁ·Î±×·¥ÇÒ ¼ö ÀÖ´Ù. ModuleÀº Àüü º¯¼ö¸¦ ¼û±â´Âµ¥µµ »ç¿ëÇÒ ¼ö À־ Fortran 77ÀÇ common ±¸Á¶¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ µÈ´Ù.

Àç±Í ÇÔ¼ö (Recursive functions).
ÀÌÁ¦´Â Fortran 90ÀÇ ÀϺÎÀÌ´Ù.

³»Àå ¹è¿­ ¿¬»ê.
A¿Í B°¡ ¹è¿­À϶§µµ A=0 ¶Ç´Â C=A+B µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ matrixÀÇ °ö¼À¿ë ³»Àå ÇÔ¼ö°í ÀÖ´Ù (matmul).

¿¬»êÀÚ ¹«½ÃÇϱâ (Operator overloading).
ÀÚ½ÅÀÇ data ÇüÅ ¶Ç´Â object¿¡ ¾Ë¸Â´Â + ¶Ç´Â - ¿Í °°Àº ¿¬»êÀÚÀÇ Àǹ̸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
±×¸®°í ¸Å¿ì ¸¹Àº ´Ù¸¥ Ư¡ÀÌ À־ ¿©±â¼­ ´Ù ¿­°ÅÇÒ ¼ö ¾ø´Ù. Fortran 90Àº ¾Õ¼­¼­ »ç¿ëÇÏ´ø Fortran°ú´Â ¸Å¿ì ´Ù¸£´Ù. ±×·¯³ª Fortran 77ÀÌ Fortran 90ÀÇ ºÎºÐ ÁýÇÕÀ¸·Î Æ÷ÇԵǾî ÀÖ´Ù.


[Fortran Tutorial]
Ãæ³²´ëÇб³ ¹°¸®Çаú ¿À º´¼º