상속은 객체지향 프로그래밍에서 부모클래스의 동작(메소드)를 다시 재사용, 확장 하는 개념입니다.
상속의 사용방법은 다음과같습니다.
public class Parent{
private int number;
public void MyFunc(){
}
public int Foo(){
}
}
public class Child : Parent{
public Foo(){
}
public void Moo(){
}
}
파생클래스는 반드시 상속받은 자식클래스는 메소드들을 재정의 해주어야합니다.
파생클래스는 파생클래스만으로 사용할수 없습니다.
사용은 다음과 같습니다.
public abstract class MyClass{
protected abstract void Boo();
public abstract void Foo();
}
public class Child : MyClass{
override void Boo(){
// TODO
}
override void Foo(){
// TODO
}
}
static 키워드는 정적 속성을 부여하는것입니다. static 키워드를 사용할경우 객체를 생성하지 않고 메모리에 접근 할수 있도록 해주는 키워드입니다.
클래스, 속성, 필드, 메서드, 구조체 어디든 static 키워드를 추가할수 있습니다.
class Program {
static void Main(string[] args) {
// 정적 속성이 있는 경우만 불러사용가능.
}
static public void Member() {
Console.WriteLine("Hello");
}
}
class MyMember{
public void Call(){
// 다른 클래스에서 객체를 생성하지 않고 아래와 같이 접근이 가능함
Program.Member();
/*
static 속성이 아니라면 다음과 같이 접근해야함.
Program p = new Program();
p.Member();
*/
}
}
네임스페이스, 관련 개체 집합을 포함하는 범위를 선언하는 데 사용됩니다 . 네임스페이스를 사용하여 코드 요소를 구성하고 전역적으로 고유한 형식을 만들 수 있습니다.
namespace MyName{
class MyClass{
public void Foo(){
Console.WriteLine("Foo");
}
}
}
namespace YourClass{
class MyClass{
public void Foo(){
Console.WriteLine("Your FOO");
}
}
}
같은 이름의 클래스 같은 이름의 메서드가 구현되어있지만
서로다른 네임스페이스를 이용하므로 코드간의 충돌을 막을수 있음.
서로 다른 네임스페이스에서 접근 하기위해선 .(dot) 점으로 접근해야한다.
MyName.MyClass fo = new MyName.MyClass();
fo.Foo();
같은 네임스페이스 (이름공간) 안에선 생략이 가능하다.
using 키워드를 사용하면 네임스페이스를 사용하지 않고 직접 사용할수 있다.
using MyName;
MyClass po = MyClass();
po.Foo();
gitignore file
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Recordings can get excessive in size
/[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
*.app
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
Temp/
Reference
Unity 기본 창과 라이선스 발급 (59) | 2022.05.15 |
---|---|
Github Desktop 사용방법 (60) | 2022.04.19 |
step4 c# 기초 - 배열와 연속 데이터 (59) | 2022.04.04 |
step5 c#기초- OOP (Object Oriented Programming) (62) | 2022.03.09 |
step3 c# 기초 - 조건문과 반복문 (0) | 2022.02.12 |
step2 c# 기초 - 연산자 와 함수 (0) | 2022.02.12 |