일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 코드업자바
- Java
- SWEA
- 프로그래머스파이썬
- 알고리즘
- 백준파이썬
- SWEA파이썬
- 자바연산자
- Literal
- 사용자입력
- 디자인패턴
- C#변수
- Algorithm
- 코딩테스트
- C#프로그래밍
- 코드업
- 개발입문
- 리터럴
- 백준
- Codeup
- 제어구조
- 자바클래스
- 변수
- 코드업100제
- 수학연산
- 자바
- 기초프로그래밍
- VARIABLE
- 코드업100제자바
- c#
- Today
- Total
제니노트
Class,Method,클래스 라이브러리 [C#] 본문
메인 클래스에서 다른 클래스를 사용해보기
일단 명명 규칙에 대해서 배웠다.
자바의 변수 선언은 int num = 0;
int tempNumber = 0;
이라면
C#의 변수 선언은 var num = 0;
var tempNumber = 0;
여기까지는 동일하다.
자바의 경우 메소드(Method)라고 하고
C#은 메서드라고 한다.
이건 MSDN(Microsoft Developer Network) 즉, C# 공식 문서상에 번역된 내용이 메서드라서
메서드라고 부르는 것이다.
자바의 경우 public void hello()
public void helloHi()
C#이 경우 public void Hello()
public void HelloHi()
처럼 카멜케이스를 따른다.
메서드의 기본 선언 방식은
접근제한자 반환타입 메서드이름()
{
}
꼴이다.
먼저 같은 프로젝트 내에 Calc.cs 클래스를 만들어주었다.
해당 클래스는 private 타입으로 만들어주었다.(public도 가능!)
해당 Clac의 메서드를 다른 클래스에서도 접근 할 수 있도록 하려면
public 접근 제한자를 사용해주면 된다.
//다른 클래스에서도 접근 할 수 있도록
public void PrintHello()
{
Console.WriteLine("Hello");
}
매개변수를 사용하고 싶으면
public int Plus(int num1, int num2)
{
return num1 + num2;
}
Calc.cs
using System;
namespace CSharpStudy
{
class Calc
{
//Naming Convention
//명명 규칙
//자바 메소드 (Method)
//C# 메서드 MSDN Microsoft Developer Network
//C# 공식 문서상에 번역된 내용이 메서
//자바 변수 선언 : int num = 0;
//int tempNumber = 0;
//메서드 선언 : public void hello()
//public void helloHi()
//C# 변수 선언 : var num = 0;
//var tempNumber = 0;
//메서드 선언 : public void Hello() 카멜케이스
//public void HelloHi()
//메서드 기본 선언 방식
//접근제한자 반환타입 메서드 이름(){}
//Public private ,,,
//다른 클래스에서도 접근 할 수 있도록
public void PrintHello()
{
Console.WriteLine("Hello");
}
public int Plus(int num1, int num2)
{
return num1 + num2;
}
private void Hello2()
{
}
internal void Hello3()
{
}
}
}
Program.cs
//java의 Import
using CSharpStudy;
using FirstLibrary;
namespace CSharpstudy //자바의 package.. class가 똑같더라도 namespace가 다르면 구분됨
{
class Program
{
static void Main(string[] args)
{
Calc calc = new Calc();
calc.PrintHello();
Console.WriteLine(calc.Plus(10,20));
}
}
}
위의 클래스 두 개는 같은 솔루션 내에 있다.
다른 솔루션의 클래스를 사용하고 싶다면?!
일단 FirstLibrary라는 솔루션을 만들어주었다.
ClassLibrary 라는 속성으로 만들어주었다.
이는 DLL(동적 링크 라이브러리)을 만들어주는 것
DLL이 뭐냐면 외부의 함수를 가져올 때 사용하는 것이다.
호출 할 수는 있지만 내용은 볼 수 없다.
FirstLibrary 솔루션에 FirstClass 클래스 파일을 만들어주었다.
namespace FirstLibrary;
public class FirstClass
{
public void FirstClassPrint()
{
Console.WriteLine("안녕하세요. FirstClass입니다.");
}
}
사용할 CSharpStudy 프로젝트에 FirstLibrary 를 아래 처럼 참조 시켰다.
//java의 Import
using CSharpStudy;
using FirstLibrary;
namespace CSharpstudy //자바의 package.. class가 똑같더라도 namespace가 다르면 구분됨
{
class Program
{
static void Main(string[] args)
{
FirstClass first = new FirstClass();
first.FirstClassPrint();
}
}
}
using에 네임스페이스에 FirstLibrary를 추가해주고
그리고 이렇게 사용하면 된다
이게 귀찮다면 인텔리젼스를 이용하도록 하자
'C# > C#' 카테고리의 다른 글
MVC 패턴 - 모델 [C#] (0) | 2023.09.24 |
---|---|
ASP.net? ASP.net core? [C#] (0) | 2023.09.23 |
Generic List , 사용자 정의 클래스 [C#] (0) | 2023.09.23 |
for문 [C#] (0) | 2023.09.23 |
while문 [C#] (0) | 2023.09.23 |