728x90

IT 15

C#과 C++의 특징과 차이점 (2)

1. 언어의 유형C++: 객체 지향 프로그래밍(OOP)과 절차적 프로그래밍을 지원하는 고급 프로그래밍 언어입니다. 시스템 프로그래밍, 게임 개발, 성능이 중요한 애플리케이션에 주로 사용됩니다.C#: 주로 객체 지향 프로그래밍을 위한 언어로, .NET 플랫폼에서 실행됩니다. 웹 애플리케이션, 데스크탑 애플리케이션, 모바일 애플리케이션 등 다양한 분야에서 사용됩니다.2. 메모리 관리C++: 프로그래머가 직접 메모리를 관리해야 하며, new와 delete를 사용하여 메모리를 할당하고 해제합니다. 포인터를 사용할 수 있어 메모리 접근이 유연하지만, 메모리 누수나 오류의 위험이 있습니다.C#: 가비지 컬렉션(GC)을 통해 자동으로 메모리를 관리합니다. 개발자가 직접 메모리를 관리할 필요가 없어, 메모리 누수의 위..

IT 2024.07.30

C#과 C++의 특징과 차이점 (1)

C++의 특징언어 유형: C++는 객체 지향 프로그래밍(OOP)을 지원하는 고급 프로그래밍 언어이자 시스템 프로그래밍 언어입니다.성능: C++는 저수준 언어에 가까워 하드웨어와의 상호작용이 용이하며, 성능 최적화가 가능합니다.메모리 관리: 포인터와 직접 메모리 관리를 지원하며, 프로그래머가 메모리를 할당하고 해제해야 합니다.플랫폼 독립성: 플랫폼에 따라 다르게 컴파일되어야 하며, 다양한 운영 체제에서 사용할 수 있습니다.템플릿: 템플릿을 통해 코드의 재사용성을 높일 수 있습니다.C#의 특징언어 유형: C#은 객체 지향 프로그래밍 언어로, 주로 .NET 플랫폼에서 사용됩니다.간편한 메모리 관리: 가비지 컬렉션(GC)을 통해 메모리 관리를 자동으로 수행하여 프로그래머의 부담을 줄입니다.플랫폼 독립성: .NE..

IT 2024.07.30

자바와 C++의 차이점

1. 언어 유형C++: 컴파일 언어로, 시스템 프로그래밍에 적합하며, 저수준 메모리 조작이 가능합니다. 객체 지향 프로그래밍(OOP)을 지원합니다.자바: 플랫폼 독립성을 가진 언어로, JVM(Java Virtual Machine)에서 실행됩니다. 객체 지향 프로그래밍을 기본으로 하며, 메모리 관리는 자동으로 이루어집니다.2. 메모리 관리C++: 개발자가 직접 메모리를 할당하고 해제해야 합니다. new와 delete 키워드를 사용하여 메모리를 관리합니다.자바: 가비지 컬렉션(Garbage Collection)을 통해 자동으로 메모리를 관리합니다. 개발자는 메모리를 명시적으로 해제할 필요가 없습니다.3. 다중 상속C++: 다중 상속을 지원하며, 여러 부모 클래스로부터 상속받을 수 있습니다. 하지만 다중 상속..

IT 2024.07.30

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
728x90