728x90

IT 32

1. 기초 헤더파일(h.)과 소스파일( .C, .CPP ) 차이점

1.역할과 목적:헤더파일 (.h):주로 함수, 클래스, 매크로, 데이터 타입 등의 선언을 포함합니다.코드의 인터페이스를 정의하여 다른 파일들이 이 파일을 통해 필요한 선언을 참조할 수 있도록 합니다.여러 소스파일에서 공통적으로 사용할 수 있습니다.소스파일 (.c, .cpp):함수와 클래스의 구현을 포함합니다.실제로 프로그램이 동작하는 로직을 담고 있습니다.컴파일러가 이 파일을 컴파일하여 실행 가능한 바이너리 코드로 변환합니다.구조와 내용:헤더파일:주로 선언만 포함하고, 실제 구현 코드는 포함하지 않습니다.예시: // example.h#ifndef EXAMPLE_H#define EXAMPLE_Hvoid hello(); // 함수 선언#endif소스파일:함수와 클래스의 구체적인 구현을 포함합니다.예시: /..

IT/C 2024.07.04

11. C # 계산기 (Win Form)

11. C # 계산기 (Win Form) HTML 삽입 미리보기할 수 없는 소스 스트링 문자열 더qmf 변환 활용 Button button = (Button)sender; //버튼 가져오기 활용 currentNumber += button.Text; // 텍스트 currentNumber에 추가 Txt.Text = currentNumber; 출력 Number += button.Text; // 텍스트 가져오기 시간나면 C# 열거자 학습 private string currentNumber; private string operation; private double result; (변수 선언합시다.) (버튼 1: 숫 ) private void button1_Click(object sender, EventArgs e..

IT/C# 2023.12.19

9. C# 다형성 (Polymorphism)

HTML 삽입 미리보기할 수 없는 소스 다형성 (Polymorphism) : 한 객체가 여러 가지 타입을 가질 수 있는 특성 ( 같아보이지만 달라보이는 느낌 ) 메서드 오버로딩 (Method Overloading) 같은 이름의 메서드를 여러 개 정의로 각 메서드가 다른 타입의 매개변수를 받아들이는 방식 public class Calculator { public int Add(int a, int b) { return a + b; } public float Add(float a, float b) { return a + b; } } 코드 두 숫자의 합을 계산하는 메서드 정수 두 개나 실수 두개를 받아들이는게 가능 메서드 오버로딩을 사용 'Add' 라는 같은 이름의 메서드를 두 번 정의 'Add' 메서드를 호출..

IT/C# 2023.12.01

8. C# 추상화 (Abstraction) 와 캡슐화 (Encapsulation)

HTML 삽입 미리보기할 수 없는 소스 추상: 시스템이나 개체들을 단순화하 대상의 핵심적인 특징만 사용 추상화 (Abstraction) 실제 세계의 개념이나 객체를 프로그램으로 바꾸는 과정 C#에서 추상화는 주로 추상 클래스(Abstract Class)와 인터페이스(Interface)를 통해 구현 캡슐화(Encapsulation) 캡슐화는 데이터와 데이터를 다루는 동작을 하나로 만들어 외부에 안보이도록 숨기는 프로세스(은닉화, 데이터은닉 Information Hiding) 내부의 변수와 메소드를 하나로 접근 제한자(Access Modifier) 사용 선언하여 클래스 외부접근 X ㅡ> 으로 메서드(getter, setter)사용, 클래스 내부 접근 캡슐화 구성: 클래스= 메소드+데이터 C# 프로퍼티도 ....

IT/C# 2023.11.23

7. C# 인스턴스 (Instance)

HTML 삽입 미리보기할 수 없는 소스 인스턴스(instance): 클래스 정의 기반에서 메모리에 할당된 실체 클래스는 추상적인 개념인데 추상에서 실제 객체를 꺼내는게 인스턴스(실제) 설계도를 통해 만들어진 실제 객체 클래스명 변수명 = new 클래스명 () ; 클래스 참조변수 =new 클래스 명(); Ex) Student student = new Student(); 인스턴스 코드 using System; namespace Mylove { class Person { public string Name { get; set; } public int Age { get; set; } public void Introduce() { Console.WriteLine($"이름은 {Name} 나이는 {Age}세."); }..

IT/C# 2023.11.23

6. C# 객제치향 프로그래밍 OOP, S.O.L.I.D 원칙

HTML 삽입 미리보기할 수 없는 소스 C#과 같은 객체지향 프로그래밍 Object-Oriented Programming (OOP)은 프로그램들을 객체들의 집합으로 생각 S Single Responsibility Principle (SRP, 단일 책임 원칙) 하나의 클래스는 하나의 책임만 가져야 한다는 원칙 (모든 클래스는 각 하나의 기능만 가지는것) O Open-Closed Principle (OCP, 개방 폐쇄 원칙) 확장에는 열려 있어야 하며 수정에는 닫혀 있어야 한다는 원칙 기존코드 변경 X 기능 추가 O L Liskov Substitution Principle (LSP, 리스코프 치환 원칙) 자식 클래스는 그 부모 클래스로 언제나 대체가능 해야 되는 원칙 클래스의 확장과 재정의를 통해 만들면 원..

IT/C# 2023.11.22

5. C# 객체와 Class(클래스)

HTML 삽입 미리보기할 수 없는 소스 객체(Object) : 객체는 상태(attribute,속성)와 행동(method)을 가지는 기본 단위 객체는 붕어빵 속성: '색깔', '모델', '제조사' 행동: '달리다', '멈추다' 클래스에서 실제 행동을 동사 , 동사+명사로 이름 클래스(Class) : 클래스는 객체를 생성하기 위한 틀 또는 설계도 객체는 붕어빵틀 클래스:자동차 객체: 벤츠,포르쉐,아우디 (접근제한자) class (클래스명) { 속성; 메서드() } } (접근제한자) class (클래스명) { 멤버변수; 메서드() } } 객체지향 언어 장점 코드의 재사용성 유지보수 GOOD 대규모 객체지향 언어 단점 객체에 따른 용량 증가 using System; public class Student { //..

IT/C# 2023.11.22

4. C# switch 문 코드

HTML 삽입 미리보기할 수 없는 소스 코드 1 switch (변수,식) { case 값1: // 값1 실행 코드 break; case 값2: // 값2 실행 코드 break; // case를 더 추가가능 default: // 어떤 case에도 해당하지 않음 break; } 코드 2 int day = 4; switch (day) { case 1: Console.WriteLine("월요일입니다."); break; case 2: Console.WriteLine("화요일입니다."); break; case 3: Console.WriteLine("수요일입니다."); break; case 4: Console.WriteLine("목요일입니다."); break; case 5: Console.WriteLine("금요일입..

IT/C# 2023.11.21

3. C# 조건문

HTML 삽입 미리보기할 수 없는 소스 if, else와 switch-case 조건문 1. if 문: if 문은 조건이 true일 때 코드 실행 int num = 10; if (num > 5) { Console.WriteLine("num은 5보다 큽니다."); } 2. if-else 문: if-else 문은 if의 조건이 false일 때 다른 코드를 실행 int num = 3; if (num > 5) { Console.WriteLine("num은 5보다 큽니다."); } else { Console.WriteLine("num은 5보다 작거나 같습니다."); } 3. if-else if-else 문: 여러 조건 확인후 각 다른 코드를 실행할 때사용 int num = 15; if (num > 20) { Con..

IT/C# 2023.11.21
728x90