●/섹션 4. 객체지향 여행
07.은닉성
한국 /프랑스 웹툰 리뷰
2021. 7. 12. 15:36
728x90
private + public 조합
using System;
namespace Csharp
{
class Knight
{
//접근한정자 : public / protected / private
//private
private int hp;
//public
public void SetHP(int hp)
{
this.hp = hp;
}
}
class Program
{
static void Main(string[] args)
{
Knight knight = new Knight();
knight.SetHP(100);
}
}
}
hp값에 private(변수)와 public(함수)의 동시 조합을 쓰는 이유는 뭘까?
굳이 hp 하나 바꾸자고 이렇게 복잡하게 하는 이유는
hp를 하꾸는 코드가 여기저기 흩어져 있을 때 찾을 수 없다
그치만 private + public 조합으로 이렇게 코드를 짜면
중단점을 찍고 F5를 눌렀을 때
hp가 들어오는 곳이 어디있는지 바로 찾을 수 있다.
protected
using System;
namespace Csharp
{
class Knight
{
//접근한정자 : public / protected / private
protected int hp;
}
class SuperKnight : Knight
{
void Test()
{
//private은 안되는데 protected는 상속받으면 됨 (protected : 외부는 차단, 자식들에게만 오픈)
hp = 10;
}
}
class Program
{
static void Main(string[] args)
{
Knight knight = new Knight();
}
}
}
728x90