[C++] 정적(Static) 멀버 λ³€μˆ˜μ™€ ν•¨μˆ˜

2020. 5. 16. 15:32Β·πŸ“ Language/✏ C & C++

정적 멀버 λ³€μˆ˜

  • static μžλ£Œν˜• λ³€μˆ˜ 이름; ν˜•μ‹μœΌλ‘œ 클래슀 λ°–μ—μ„œ μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•œλ‹€.
  • 같은 클래슀 λ‚΄ λͺ¨λ“  객체가 ν•˜λ‚˜μ˜ 정적 멀버 λ³€μˆ˜λ₯Ό 곡용으둜 μ‚¬μš©ν•œλ‹€. 즉 클래슀 λ‚΄μ˜ μ „μ—­ λ³€μˆ˜μ²˜λŸΌ ν–‰λ™ν•œλ‹€.
  • μ–΄λ–€ κ°μ²΄μ—μ„œ λ°”κΎΌ 정적 멀버 λ³€μˆ˜ 값은 μœ μ§€λ˜λ©° 같은 클래슀의 λ‹€λ₯Έ κ°μ²΄μ—κ²Œ 영ν–₯을 λ―ΈμΉœλ‹€.
  • λ©”λͺ¨λ¦¬ 할당을 λ”± ν•œλ²ˆλ§Œ ν•˜κ²Œ λ˜μ–΄ λ©”λͺ¨λ¦¬ μ‚¬μš© νš¨μœ¨μ„ 높일 수 μžˆλ‹€.

 

정적 멀버 ν•¨μˆ˜

  • 클래슀의 κ°μ²΄ 없이 호좜이 κ°€λŠ₯ν•˜λ©° κ°μ²΄μ—μ„œλŠ” ν˜ΈμΆœν•  수 μ—†λŠ” ν•¨μˆ˜λ₯Ό λ§ν•œλ‹€.
  • private으둜 μ„ μ–Έν•œ 정적 멀버 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.

 

#include<iostream>
using namespace std;

class A {
private:
	//정적 멀버 λ³€μˆ˜μ˜ μ΄ˆκΈ°ν™”λŠ” 클래슀 μ™ΈλΆ€μ—μ„œ ν•œλ‹€.
	static int count;
public:
	A() { count++; }
	static int getCount() { return count; }
};

int A::count = 0;

int main()
{
	A a;
	A b;
	A c;
	cout << A::getCount();
}
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Language/✏ C & C++' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [C/C++] malloc()κ³Ό new의 차이
  • [C++] OOP μ†Œλ©Έμžμ˜ virtual ν‚€μ›Œλ“œ
  • [C++] 얕은 볡사(Shallow Copy)와 κΉŠμ€ 볡사(Deep Copy)
  • [C++] μ˜€λ²„λ‘œλ”©(Overloding)κ³Ό μ˜€λ²„λΌμ΄λ”©(Overriding)
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
[C++] 정적(Static) 멀버 λ³€μˆ˜μ™€ ν•¨μˆ˜
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”