반응형 C#기초17 C#기초 - 접근 제한자 (public vs private),(Getter,Setter 사용법) 접근 제한자 - 클래스, 메서드, 변수에 대한 접근 범위를 제한하는 키워드 1. private 접근제한자 => 자신의 클래스 내에서만 접근이 가능하고, 다른 외부 클래스에서는 접근이 불가능하도록 제한 (주로, 멤버변수에 private 접근제한자를 사용하여 값을 변경하지 못하도록 제어) 2. public 접근제한자 => 모든 클래스에서 접근이 가능(접근 제한이 없음) (주로, 멤버메서드에 public 접근제한자를 사용하여 누구나 접근하도록 제어) Getter/Setter 정의 클래스 내에서 멤버변수는 주로 private 접근제한자를 통해 외부에서 접근을 금지시킴 => 따라서, 별도의 메서드(Getter/Setter)를 정의하여 멤버변수 값을 대신 접근하도록 한다. 모.. 2021. 5. 27. C# 기초 - 레퍼런스, 생성자 this 1. 레퍼런스 this - 자기 자신의 인스턴스 주소가 자동으로 저장되는 참조 변수(레퍼런스 변수) - 메서드(또는 생성자) 내에서 로컬변수와 멤버 변수(인스턴스 변수)의 이름이 같을 경우 - 멤버변수를 가리키기 위해 사용하는 키워드 - 동일한 클래스 내의 this 키워드를 사용하면 인스턴스마다 다른 주소를 가리키게 됨 this.멤버변수명 ex) using System; namespace Test { public class Program { static void Main(string[] args) { // Student 인스턴스 생성, 이름 : 홍길동, 나이 : 20 출력 Student s = new Student(); s.name = "홍길동"; s.setName("홍길동"); // this.name .. 2021. 5. 15. C# 메서드 사용(3) - 메서드 오버로딩(Method Overloading) 메서드 오버로딩(Method OverLoading) /메서드 다중 정의 - 동일한 이름의 매개변수(파라미터)가 다른 메서드를 여러 개 정의하는 것 - 기본적으로 메서드는 변수와 마찬가지로 이름(식별자)이 중복되면 안 되지만, 매개변수의 타입이나 개수를 달리하면 이름이 같더라도 구분이 되므로 하나의 식별자로 여러 개의 메서드를 호출할 수 있다 [메서드 오버로딩 작성 규칙] 1. 메서드 이름이 동일 2. 매개변수(파라미터) 목록이 반드시 달라야 한다 : 매개변수 개수 또는 매개변수 타입이 달라야 한다 (즉, 호출하는 시점에서 메서드를 구분할 수 있어야 한다) 3. 리턴 값은 오버 로딩과 무관 (리턴 값이 달라도 매개변수가 동일하면 오버 로딩이 아니다) => 동일한 이름의 메서드를 호출하는 시점에서 구분할 수.. 2021. 2. 21. C# 메서드 사용(2) - 매개변수전달:선언 기본형 변수, 참조형 변수 메서드 호출 시 변수 값을 전달하면 변수 내의 값을 복사해서 전달하게 됨 1. 기본형 변수를 전달했을 경우(Pass by Value 방식 = 값에 의한 전달) :변수 값(실제 데이터)을 복사하여 전달하므로, 메서드 내에서 값을 변경하더라도 원본 데이터에는 아무런 영향이 없다 :기본 데이터 타입 8가지를 전달하는 경우 2. 참조형 변수를 전달했을 경우(Pass by Reference 방식 = 참조(주소)에 의한 전달) :변수 값(실제 데이터가 있는 곳의 주소 값)을 복사하여 전달하므로 메서드 내에서 주소 값에 접근하여 값을 변경하면 원본 데이터에 영향이 있다. :기본 데이터 타입을 제외한 나머지를 전달하는 경우(배열, 인스턴스 등) ex1) 기본형 변수 class VariableTest { public v.. 2021. 2. 17. C# 메서드 사용(1) - 인스턴스 변수, 로컬변수 선언 using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { } } } String[] args 변수: 메서드 내에서 선언되었으므로 로컬 변수 또는 메서드 파라미터 내에서 선언되었으므로 파라미터 변수라고 함 main() 메서드가 끝나면 args 변수도 제거됨 class VariableType { int instanceMemberVariable; public void method1() { int localVariable = 10; Console.WriteLine(instanceMemberVariable); // 인스턴스 변수 접근 가능 Console.WriteLine(localVariable); // 자신의 메.. 2021. 1. 13. C# 메서드 정의(2) 5. 매개변수가 2개 이상인 메서드 => 메서드 리턴 타입은 하나만 명시해야 하지만, 매개변수는 복수개를 전달할 수 있으며, 타입도 무관하다. [예제 코드] static void Main(string[] args) { Console.WriteLine("Hello World 출력문"); String hello = "HelloWorld"; int i = 1; hello = HelloWorld5(i, hello); Console.WriteLine(hello); Console.WriteLine("=============================================="); // 참고! 배열 등의 데이터타입도 매개변수로 전달 가능 // 점수 5개(100, 50, 90, 70, 60)를 저장하는 배열 s.. 2020. 11. 4. C# 메서드의 정의 메서드(Method) - 프로그램(작업)의 최소 실행 단위 - 반드시 호출되어야만 실행될 수 있음 => 단, main() 메서드는 자동으로 호출되는 메서드로, 프로그램 시작점이라고 함 - 메서드를 호출하면 프로그램 흐름이 변하여 메서드 내부로 실행 흐름이 이동함 => 메서드 실행이 끝나면 메서드를 호출한 곳으로 돌아가야함 [메서드 정의 기본 문법] [제한자] 리턴타입 메서드명([파라미터데이터타입 변수명1, ..., 파라미터데이터타입 변수명n]) { // 메서드가 호출되면 수행할 작업들... [return [리턴할 데이터];] } => 전달인자(Argument) 또는 매개변수(Parameter) 란? - 메서드를 호출할 때 전달하는 데이터 => 리턴값이란? - 메서드를 호출하여 작업이 수행된 후 가지고 돌.. 2020. 11. 1. C# break문, continue문 사용하기 break 문 vs continue 문 - 반복문을 중간에 종료하거나 반복 실행 문장을 생략할 때 사용 1. break 문 - 현재 수행 중인 반복문의 블록문{} 을 빠져나갈 때(반복문을 종료할 때) 사용 - 일반적으로 조건식을 사용하여 특정 상황에서 반복문을 종료하도록 함 [ 기본 문법 ] 반복문(...) { if(조건식) { break; } // 반복 실행할 문장 및 증감식 } 2. continue 문 - 현재 수행중인 반복문의 continue 문 아래쪽 문장 실행을 생략한 후, 다음 반복 계속해서 실행 - 즉, 조건식에 따라 특정 문장의 실행을 생략하도록 함 [비교 코드]//////////////break문 for (int i = 1; i 2020. 10. 31. C# 반복문 do ~ while문 사용하기(3) do ~ while문 - while 문과 원리는 동일하나 반복문을 무조건 1회 실행 후 while() 문에서 조건을 판별 - while 문은 조건식 판별 결과에 따라 반복문이 단 한 번도 실행되지 않을 수 있지만, do ~ while 문은 조건식 판별 여부와 관계없이 최소한 한 번의 실행은 보장됨 [기본 문법] 초기식; do { // 반복 실행할 문장 // 증감식 } while(조건식); // 마지막 세미콜론 필수 [예제] int j = 1; do { // j값(초기식)의 판별 여부와 무관하게 무조건 한 번 반복문을 실행 Console.WriteLine(j + " : Hello, World!"); // 1회 출력됨 j++; } while (j 조건식 판별 결과가 false 이면 do ~ while 문을 .. 2020. 10. 25. 이전 1 2 다음 반응형