ජාවා Methods & Functions: Programming Fundamentals SC Guide

කොහොමද යාලුවනේ! Tech දේවල් එක්ක ඔයාලගේ දවස සුපිරි ඇති කියලා හිතනවා. අද අපි කතා කරන්න යන්නේ Java Programming වල තියෙන හරිම වැදගත් කොටසක් ගැන – ඒ තමයි Methods නැත්නම් Functions.
ඔයාලා කවදාවත් හිතුවද, ලොකු Software එකක් හදනකොට ඒකෙ තියෙන Code දහස් ගණන් Line එකටම ලියනවද කියලා? එහෙම වුණා නම් වැඩේ කොච්චර අවුල් වෙයිද? ඒකට තමයි අපේ Methods කියන දේ තියෙන්නේ. Methods කියන්නේ අපේ Code එක කොටස් වලට කඩලා, සංවිධානය කරලා, ආයෙත් ඕනෙ වෙලාවක පාවිච්චි කරන්න පුළුවන් විදිහට හදාගන්න උදව් වෙන සුපිරිම Technique එකක්. මේකෙන් Code එක වඩාත් පිළිවෙලට තියාගන්න, තේරුම් ගන්න ලේසි කරගන්න, වගේම වැරදි හොයාගන්නත් ලේසියි.
අද මේ Guide එකෙන් අපි බලමු Methods කියන්නේ මොනවද, ඒවා කොහොමද හදන්නේ, ඒවාට තොරතුරු යවන්නේ කොහොමද, ඒ වගේම Methods වලින් අපිට Result එකක් ගන්න පුළුවන්ද කියලත්. අපි මේක හරිම සරලව, ලංකාවේ අපිට තේරෙන විදිහට කතා කරමු.
1. Methods කියන්නේ මොනවද? (What are Methods?)
සරලවම කිව්වොත්, Method එකක් කියන්නේ එක නිශ්චිත කාර්යයක් (specific task) කරන්න ලියපු Code ගොඩක්. උදාහරණයක් විදිහට, අංක දෙකක් එකතු කරන්න, නැත්නම් නමක් Print කරන්න වගේ දේවල් වලට වෙනම Method එකක් හදන්න පුළුවන්. මේකෙන් වෙන්නේ එකම Code එක නැවත නැවත නොලියා (DRY - Don't Repeat Yourself principle), ඕනෙ වෙලාවක පාවිච්චි කරන්න පුළුවන් විදිහට හදාගන්න පුළුවන් වෙන එකයි.
Methods පාවිච්චි කිරීමෙන් අපිට ප්රධාන වාසි කීපයක් ලැබෙනවා:
- Code Reusability (Code නැවත පාවිච්චිය): එක පාරක් Method එකක් ලිව්වොත්, ඕනෙ තරම් පාරක් ආයෙත් ඒක පාවිච්චි කරන්න පුළුවන්.
- Modularity (කොටස් වලට කැඩීම): ලොකු Program එකක් පොඩි පොඩි, කළමනාකරණය කරන්න පුළුවන් කොටස් වලට කඩා ගන්න පුළුවන්.
- Readability (කියවීමේ පහසුව): Code එක පිළිවෙලයි, ඒ නිසා අනිත් අය වුණත් ඔයාගේ Code එක ඉක්මනට තේරුම් ගන්නවා.
හරි, අපි බලමු සරලම Method එකක් කොහොමද පේන්නේ කියලා:
public class MyFirstMethod {
// මේක තමයි අපේ පළවෙනි Method එක
public static void wishMe() {
System.out.println("ආයුබෝවන්, මේක අපේ Programming ලෝකය!");
}
public static void main(String[] args) {
System.out.println("අපි දැන් Method එකක් කැඳවමු...");
wishMe(); // මෙතනින් තමයි wishMe Method එක call කරන්නේ
System.out.println("Method එක සාර්ථකව ක්රියාත්මක වුණා!");
}
}
මේ Code එකේ `wishMe()` කියන්නේ අපි හදපු Method එක. `main` Method එක ඇතුළේ අපි `wishMe()` කියලා ඒක call කරලා තියෙනවා. ඒක run කරාම "ආයුබෝවන්, මේක අපේ Programming ලෝකය!" කියලා console එකේ Print වෙයි.
2. Methods නිර්මාණය සහ කැඳවීම (Creating and Calling Methods)
Method එකක් නිර්මාණය කරනකොට ප්රධාන කොටස් කීපයක් තියෙනවා. අපි මේ `public static void wishMe()` කියන එකම අරගෙන පැහැදිලි කරගමු.
public
: මේක තමයි Access Modifier එක. මේකෙන් කියවෙන්නේ මේ Method එක ඕනෑම තැනක ඉඳන් Access කරන්න පුළුවන් කියලයි.static
: මේකෙන් කියවෙන්නේ මේ Method එකට Object එකක් හදන්නේ නැතුවම Class එකේ නමෙන් කෙලින්ම call කරන්න පුළුවන් කියලයි. `main` Method එකත් `static` වෙන්නෙත් ඒකයි.void
: මේක තමයි Return Type එක. `void` කියන්නේ මේ Method එකෙන් කිසිම අගයක් ආපහු දෙන්නේ නැහැ කියන එක. ඒ ගැන අපි ඊළඟ කොටසේදී විස්තරාත්මකව බලමු.wishMe
: මේක තමයි Method එකේ නම. Method එකේ නමෙන් ඒක කරන වැඩේ ගැන හොඳ අවබෝධයක් ලැබෙන්න ඕනේ. (උදා: `calculateSum`, `printReport`).()
: මේක ඇතුළේ තමයි Parameters තියෙන්නේ. මේ Method එකට අපි යවන තොරතුරු මේක ඇතුළේ සඳහන් කරනවා. මේ Method එකේ කිසිම Parameter එකක් නැති නිසා මේක හිස්ව තියෙනවා.{}
: මේ curly braces ඇතුළේ තමයි Method එකේ Code Body එක තියෙන්නේ. මේ Method එකෙන් කරන්න ඕන හැම වැඩක්ම මේක ඇතුළේ ලියනවා.
Method එකක් call කරන එක නම් හරිම සරලයි. ඔයාට ඕනේ Method එකේ නම දීලා `()` වරහන් දෙක දාලා, අන්තිමට `;` (semicolon) එකක් දැම්මා නම් හරි. උදාහරණ: `wishMe();`
3. Return Types – Methods වලින් අගයක් ලබාගැනීම (Getting a Value from Methods)
අපි කලින් කතා කරපු Method එකේ `void` කියලා තිබ්බා මතකද? ඒ කියන්නේ ඒ Method එකෙන් කිසිම අගයක් ආපහු දෙන්නේ නැහැ කියන එක. ඒත් සමහර වෙලාවට අපිට Method එකක් වැඩක් කරලා ඒකේ Result එක ආපහු ගන්න ඕනේ වෙනවා. උදාහරණයක් විදිහට, ඔයාට අංක දෙකක් එකතු කරන Method එකක් ඕනේ නම්, ඒ එකතුව ආපහු ගන්න පුළුවන් වෙන්න ඕනේ නේද?
එහෙම අවස්ථාවලදී අපි `void` වෙනුවට, අපිට අවශ්ය Data Type එක (int, String, double, boolean වගේ) සඳහන් කරනවා. ඒ වගේම Method එක ඇතුළේ `return` කියන Keyword එක පාවිච්චි කරලා අගය ආපහු යවනවා.
public class Calculator {
// අංක දෙකක එකතුව ආපහු දෙන Method එකක්
public static int addNumbers(int num1, int num2) {
int sum = num1 + num2;
return sum; // එකතුව Return කරනවා
}
// නමක් සම්පූර්ණ කරලා String එකක් විදිහට Return කරන Method එකක්
public static String getFullName(String firstName, String lastName) {
return firstName + " " + lastName;
}
public static void main(String[] args) {
// addNumbers Method එක call කරලා result එකක් ගන්න හැටි
int resultOfAddition = addNumbers(15, 25);
System.out.println("අංක දෙකේ එකතුව: " + resultOfAddition); // Output: අංක දෙකේ එකතුව: 40
// getFullName Method එක call කරලා result එකක් ගන්න හැටි
String personName = getFullName("කමල්", "පෙරේරා");
System.out.println("සම්පූර්ණ නම: " + personName); // Output: සම්පූර්ණ නම: කමල් පෙරේරා
}
}
මේ Example එකේදී `addNumbers` Method එක `int` අගයක් Return කරනවා, ඒ වගේම `getFullName` Method එක `String` අගයක් Return කරනවා. `main` Method එක ඇතුළේදී අපි ඒ Return වෙන අගය `resultOfAddition` සහ `personName` කියන Variables වලට අරගෙන පාවිච්චි කරනවා.
4. Parameters – Methods වලට තොරතුරු යැවීම (Passing Information to Methods)
Parameters කියන්නේ Method එකකට වැඩක් කරන්න අවශ්ය වෙන තොරතුරු නැත්නම් Inputs. Method එකකට Parameters යවන එකෙන් ලොකු වාසියක් තියෙනවා. ඒ තමයි එකම Method එක විවිධ තොරතුරු එක්ක පාවිච්චි කරන්න පුළුවන් වීම.
Parameters, Method එකේ නමට පස්සේ වරහන් `()` ඇතුළේ, Data Type එකත් එක්කම සඳහන් කරනවා. Parameter එකෙන් Parameter එකට `,` (comma) එකකින් වෙන් කරනවා.
public class Greeter {
// නමක් Parameter එකක් විදිහට අරගෙන ආචාර කරන Method එකක්
public static void sayHelloTo(String name) {
System.out.println("ආයුබෝවන්, " + name + "!");
}
// දිග සහ පළල Parameter විදිහට අරගෙන වර්ගඵලය ගණනය කරන Method එකක්
public static void calculateArea(double length, double width) {
double area = length * width;
System.out.println("ප්රදේශයේ වර්ගඵලය: " + area);
}
public static void main(String[] args) {
System.out.println("Parameters සහිත Methods...");
// sayHelloTo Method එකට String Parameter එකක් යවනවා
sayHelloTo("අනුර"); // Output: ආයුබෝවන්, අනුර!
sayHelloTo("චම්පා"); // Output: ආයුබෝවන්, චම්පා!
// calculateArea Method එකට double Parameters දෙකක් යවනවා
calculateArea(10.5, 5.0); // Output: ප්රදේශයේ වර්ගඵලය: 52.5
calculateArea(7.0, 3.0); // Output: ප්රදේශයේ වර්ගඵලය: 21.0
}
}
මේ Example එකේදී `sayHelloTo` Method එකට `String` වර්ගයේ Parameter එකක් (name) තියෙනවා. ඒ වගේම `calculateArea` Method එකට `double` වර්ගයේ Parameters දෙකක් (length, width) තියෙනවා. මේ Parameters නිසා අපිට එකම Method එක විවිධ තොරතුරු එක්ක පාවිච්චි කරන්න පුළුවන්.
නිගමනය (Conclusion)
ඉතින් යාලුවනේ, ඔයාලට දැන් Java වල Methods සහ Functions කියන්නේ මොනවද, ඒවා කොහොමද නිර්මාණය කරන්නේ, Parameters කොහොමද යවන්නේ, ඒ වගේම Methods වලින් අගයන් ආපහු ගන්න හැටි ගැනත් හොඳ අවබෝධයක් ලැබෙන්න ඇති කියලා මම විශ්වාස කරනවා. මේක Java Programming වල හරිම මූලික වගේම, අතිශයින්ම වැදගත් සංකල්පයක්. මේක හොඳට තේරුම් ගත්තොත් ඔයාලට ඕනෑම සංකීර්ණ Program එකක් වුණත් හරිම පහසුවෙන් ලියාගන්න පුළුවන්.
වැදගත්ම දේ තමයි Practice කරන එක. අපි මේ දීපු Examples ඔයාලගේ Computer එකේ IntelliJ IDEA, Eclipse වගේ IDE එකක හරි, නැත්නම් Online Java Compiler එකක හරි Type කරලා Run කරලා බලන්න. තව ඔයාලගේම පොඩි පොඩි Methods ලියලා, ඒවාට වෙනස් Parameters යවලා, වෙනස් Return Types පාවිච්චි කරලා අත්හදා බලන්න. එතකොට තමයි මේ සංකල්ප ඔයාලගේ ඔළුවට හොඳටම යන්නේ.
මේ ලිපිය ගැන ඔයාලට මොනවා හරි ප්රශ්න තියෙනවා නම්, නැත්නම් තවත් දැනගන්න ඕනේ දේවල් තියෙනවා නම්, පහළින් comment එකක් දාන්න අමතක කරන්න එපා. ඔයාලගේ අදහස් අපි හැමෝටම ගොඩක් වටිනවා.
එහෙනම් තවත් අලුත් දෙයක් අරගෙන එනකම්, ඔයාලට සුභ දවසක්! Happy Coding!