멤버 함수, 즉 클래스의 메서드는 다른 변수와 유사한 클래스 정의 내에 해당 정의 또는 프로토타입이 있는 함수입니다. 이는 자신이 구성원인 클래스의 모든 개체에서 작동하며 해당 개체에 대한 클래스의 모든 구성원에 액세스할 수 있습니다.
다음은 예입니다 -
public void setLength( double len ) { length = len; } public void setBreadth( double bre ) { breadth = bre; }
다음은 C#에서 클래스 멤버 함수에 액세스하는 방법을 보여주는 예입니다 -
예
using System; namespace BoxApplication { class Box { private double length; // Length of a box private double breadth; // Breadth of a box private double height; // Height of a box public void setLength( double len ) { length = len; } public void setBreadth( double bre ) { breadth = bre; } public void setHeight( double hei ) { height = hei; } public double getVolume() { return length * breadth * height; } } class Boxtester { static void Main(string[] args) { Box Box1 = new Box(); // Declare Box1 of type Box Box Box2 = new Box(); double volume; // Declare Box2 of type Box // box 1 specification Box1.setLength(8.0); Box1.setBreadth(9.0); Box1.setHeight(7.0); // box 2 specification Box2.setLength(18.0); Box2.setBreadth(20.0); Box2.setHeight(17.0); // volume of box 1 volume = Box1.getVolume(); Console.WriteLine("Volume of Box1 : {0}" ,volume); // volume of box 2 volume = Box2.getVolume(); Console.WriteLine("Volume of Box2 : {0}", volume); Console.ReadKey(); } } }
출력
Volume of Box1 : 504 Volume of Box2 : 6120
멤버 변수, 즉 클래스 멤버는 (디자인 관점에서) 객체의 속성이며 캡슐화를 구현하기 위해 비공개로 유지됩니다. 이러한 변수는 공용 멤버 함수를 통해서만 액세스할 수 있습니다.
이 변수의 새 인스턴스가 Rectangle 클래스의 새 인스턴스마다 생성되기 때문에 길이와 너비 아래에는 멤버 변수가 있습니다.
예
using System; namespace RectangleApplication { class Rectangle { //member variables private double length; private double width; public void Acceptdetails() { length = 10; width = 14; } public double GetArea() { return length * width; } public void Display() { Console.WriteLine("Length: {0}", length); Console.WriteLine("Width: {0}", width); Console.WriteLine("Area: {0}", GetArea()); } }//end class Rectangle class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.Acceptdetails(); r.Display(); Console.ReadLine(); } } }
출력
Length: 10 Width: 14 Area: 140