C#/문법 정리
C# - 정적 메소드(static method)
Khadra
2024. 7. 7. 08:12
정적 메소드(Static Method)란?
- 객체에 사용되는 멤버 메소드와 달리 클래스 자체에 적용되는 메소드이다.
- 이들은 String.Format()과 같이 클래스 이름인 String 뒤에 '.' 연산자와 함께 사용한다.
String 클래스의 정적 메소드 종류
스태틱 메소드 | 동작 |
---|---|
Concat | 한 개 이상의 substring을 합쳐서 새로운 string을 만든다. |
Compare | 두 개의 string을 비교하여 상대적인 위치에 리턴한다. |
Copy | 현재 string을 복사하여 새로운 string을 만든다. |
Format | 문자열을 포맷에 맞추어 변경한다. |
Join | 배열이나 컬렉션의 멤버들을 모아서 새로운 string을 만든다. 이때 맴버 사이의 구분자를 삽입한다. |
예제 코드
using System;
using static System.Console;//Console단어를 생략(코드길이줄어둠)
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// string s를 " Hello, World! "로 할당. 앞뒤에 빈칸이 있다.
string s = " Hello, World! ";
// String.Concat() 메소드는 정적메소드이다.
// s.Concat()이 아닌 String.Concat()으로 사용해야 한다.
// 두 개의 스트링을 합쳐준다.
WriteLine("String.Concat: " + String.Concat("Hi~",s));
// String.Compare() 메소드도 정적메소드이다.
// Compare() 메소드와 다르게 String.Compare()와 같이 클래스 이름과 함께 사용한다.
// "abc"의 'a'값이 빈칸보다 뒤에 나오므로 +1dl 출력된다.
WriteLine("String.Compare: " + String.Compare("abc", s));
// Copy() 메소드는 정적메소드이다. 10번째 줄에 선언한 t가 여기에서 사용되어
//t = String.Copy(s)를 하면 t는 s와 같은 값이 된다.
WriteLine("String.Copy: " + (t = String.Copy(s)) + "\n");
// string 배열 val을 선언하고, 초기화한다.
String[] val = { "apple", "orange", "grape", "pear" };
// String.Join(",", val)은 string 배열 val의 각 요소를 ","으로 연결하여 리턴한다.
String result = String.Join(",", val);
WriteLine("[] val/String.Join: " + result);
}
}
}
결과
String.Concat: Hi~ Hello, World!
String.Compare: 1
String.Copy: Hello, World!
[] val/String.Join: apple.orange.grape.pear