Static λ©”μ„œλ“œ πŸ—ΏπŸ—Ώ

μ •μš©Β·2024λ…„ 6μ›” 3일

C# Static λ©”μ„œλ“œ πŸŽ†

정적 ( static ) λ©”μ„œλ“œλŠ” μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ™€ λ‹€λ₯΄κ²Œ ν΄λž˜μŠ€λ‘œλΆ€ν„° 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šκ³  직접 [ 클래슀λͺ…, λ©”μ„œλ“œλͺ… ] ν˜•μ‹μœΌλ‘œ ν˜ΈμΆœν•˜λŠ” λ©”μ„œλ“œμ΄λ‹€.

이 λ©”μ„œλ“œλŠ” λ©”μ„œλ“œ μ•žμ— static μ΄λΌλŠ” ν‚€μ›Œλ“œλ₯Ό 적어 μ£Όλ©°, λ©”μ„œλ“œ λ‚΄λΆ€μ—μ„œ 클래슀의 μΈμŠ€ν„΄μŠ€ 객체 멀버λ₯Ό μ°Έμ‘°ν•΄μ„  μ•ˆλœλ‹€. ❌

이 static λ©”μ„œλ“œλŠ” μΈμŠ€ν„΄μŠ€ κ°μ²΄λ‘œλΆ€ν„° 호좜될 수 μ—†μœΌλ©°, λ°˜λ“œμ‹œ 클래슀 λͺ…κ³Ό μ‚¬μš©λœλ‹€.

κ°„λ‹¨ν•œ 예제둜 μ‚΄νŽ΄λ³΄κ² λ‹€.

public class Myclass
{
	//μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ
    public int InstRun( )
    {
    	return val;
    }
	// 정적 λ©”μ„œλ“œ
	public static int Run( )
    {
    	return 1;
    }
}

public class Client
{
	public void Test( )
    {
    	//μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ 좜λ ₯
       Myclass myclass = new myClass( );
       int i = myclass.InstRun( );
       
       int j = Myclass.Run( );

πŸ˜… Mainλ©”μ„œλ“œκ°€ μ—†λ‹€λ©΄ ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘λ  μ§„μž…μ μ΄ μ—†μ–΄μ„œ visual studioμ—μ„œλŠ” 였λ₯˜κ°€ μƒκΈ°μ§€λ§Œ κ·Έ 뢀뢄은 기초적이기 λ•Œλ¬Έμ— λ„˜μ–΄κ°€λ„λ‘ ν•˜κ² λ‹€...

Static 속성과 ν•„λ“œ

static 속성 및 ν•„λ“œλŠ” μœ„μ˜ static λ©”μ„œλ“œμ™€ 같이 { 클래슀λͺ…, 속성λͺ… }κ³Ό 같이 μ‚¬μš©ν•˜λ©°, λ‹€μŒ μ˜ˆμ™€ 같이 static을 μ•žμ— λΆ™μ—¬ μ •μ˜ν•œλ‹€.

클래슀 λ‚΄μ˜ Non-static ν•„λ“œλ“€μ€ 클래슀 μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 λ•Œλ§ˆλ‹€ λ©”λͺ¨λ¦¬μ— 맀번 μƒˆλ‘œ μƒμ„±λ˜κ²Œ ν•˜λŠ” 반면,

static ν•„λ“œλŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ ν›„ ν•΄λ‹Ή ν΄λž˜μŠ€κ°€ 처음으둜 μ‚¬μš©λ  λ•Œ ν•œ 번 μ΄ˆκΈ°ν™”λ˜μ–΄ 계속 λ™μΌν•œ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜κ²Œ λœλ‹€.

  • protected static int _id;
    //static ν•„λ“œ
  • public static string Name { get ; set ; }
    //static 속성

끝 πŸ™„

profile
예예

0개의 λŒ“κΈ€