728x90

공부/C# 43

[C#] 객체 지향 추상화, 상속성, 다형성

이전 내용:https://dani2344.tistory.com/142 [C#] OOP 객체 지향, 4대 특징 중 캡슐화와 프로퍼티객체 지향 프로그래밍 OOP객체: 속성과 동작객체 지향 프로그래밍(Object-Oriented Programming): 객체 위주로 프로그래밍 하는 것 절차적 프로그래밍: 기능 구현에 초점, 함수를 역할별로 나누어 개발데dani2344.tistory.com 객체 지향의 4대 특징캡슐화 (Encapsulation) 추상화 (Abstraction)객체간의 공통점을 뽑아 추상화 객체로 만듦추상화가 잘 될 수록 공통점이 모여 작고 단순해짐각자의 class를 사자, 곰, 늑대로 만든다면 이들이 추가로 생길 때 마다 class를 생성해야 함그래서 이들을 동물이라는 공통점으로 묶으면? 상속..

공부/C# 2025.05.22

[C#] OOP 객체 지향, 4대 특징 중 캡슐화와 프로퍼티

객체 지향 프로그래밍 OOP객체: 속성과 동작객체 지향 프로그래밍(Object-Oriented Programming): 객체 위주로 프로그래밍 하는 것 절차적 프로그래밍: 기능 구현에 초점, 함수를 역할별로 나누어 개발데이터 접근이 쉬움문제점) 이곳 저곳에서 데이터에 접근해 유지보수가 어려움문제점) 스케일이 커지며 관리가 어려워짐 객체 지향 프로그래밍: 객체를 역할별로 나누어 개발클래스가 데이터를 보호해 데이터 접근이 어려움스케일이 커져도 관리가 쉬움문제점) 제한적으로 데이터에 접근시키려 객체화로 설계하는 부분이 비교적 어려움 객체화: 속성과 동작을 정의클래스: 객체화 시킨 개념을 프로그래밍하기 위한 정의서, 각 칼럼에 적당한 데이터 타입과 제한 접근을 지정인스턴스: 생성된 객체객체 지향의 4대 특징 ..

공부/C# 2025.05.22

[C#] 합이 n이 되는 순열 구하기 (백트래킹 DFS)

*개선할 점귀찮아서 list.Contains 썼지만 그러면 매번 내장함수로 O(n) 탐색이 일어나 bool[] visited를 따로 만들어서 확인해도 됨코드에서는 1~4까지 조건에 맞춰 상수를 넣었지만, 필요시 4에 해당되는 부분을 변수로 빼기using System;using System.Collections.Generic;public class Program{ static int count = 0, n = 4; public static void Main(){ List patterns = new List(); Find(patterns, 0); } static void Find(List patterns, int sum){ if(sum >= n) { if (sum == n){ Console...

공부/C# 2025.05.21

[C#] 함수, 클래스 (+소수 둘째자리까지 출력)

StackOverFlow (스택 오버플로우)?메모리는 크게 힙 / 스택으로 구성함수 호출은 스택 영역을 사용함수 호출시 스택 메모리에 쌓이고, 함수 종료시 스택 메모리에서 빠진다하지만 재귀호출이 계속 반복되면 스택 메모리에 계속 쌓이고,사용 가능한 스택 범위를 넘어서면 스택 오버플로우가 발생한다.따라서 꼭 종료 조건을 추가할 것클래스복합 데이터: 여러 데이터를 하나로 묶어둔 것 (class, struct, record 등 가능)멤버 변수: 클래스에 포함된 변수접근 제한 수준 지정 가능- public: 누구나 접근 가능- protected: 파생클래스까지 접근 가능- private: 소유자만 접근 가능 프로필을 저장하기 위해 무조건 new로 신규 프로필 생성각 멤버변수에 접근하려면 . 점을 찍어 접근 생..

공부/C# 2025.05.21

[C#] 배열

배열배열.Length로 길이 접근 가능 int[] a = new int[5];-> 배열 길이만큼 메모리에 연속되게 공간을 만듦d={60, 70, 80, 90, 100}; -> 컴파일 오류데이터 목록은 배열 선언시에만 가능new를 같이 사용시 배열을 생성한 뒤 다시 할당이 가능 type[] 으로 선언할 때의 초기값int[] -> 0double[] -> 0bool[] -> falsechar[] -> '/0' 다차원 배열[,] : 고정 길이 배열[][]: 가변 길이 배열왼쪽의 고정 길이 배열의 경우array.GetLength(0): 4array.GetLength(1): 3* array.Length -> 12 (전체 개수가 나온다) 오른쪽의 가변 길이 배열의 경우array.GetLength(0): 4array...

공부/C# 2025.05.20

[C#] 캐스팅, 리터럴

캐스팅캐스팅: 데이터 타입을 한시적으로 변경동일 타입 계층에서 가능서로 다른 타입을 연산이 가능하게 만듦컴파일러가 작은 타입을 큰 타입으로 자동 변경큰 타입을 작은 타입으로 수동 변경 가능큰 타입을 작은 타입으로 캐스팅 할 시 데이터 상실컴파일타임에 변경암시적 캐스팅 (Implicit)암시적 캐스팅: 자동 타입 변경위에서 언급한 컴파일러가 작은 타입을 큰 타입으로 자동 변경> 하는 경우int a = 1;float b = a;타입 변경에 문제가 없을 때 컴파일러가 자동으로 실행 (작은 타입 -> 큰 타입으로)정수가 실수에 포함되어, 정수를 실수 타입으로 자동 캐스팅명시적 캐스팅 (Explicit)명시적 캐스팅: 동일 타입 계층 내에서 수동으로 타입 변경위에서 언급한 하는 경우float f = 1.23f;..

공부/C# 2025.05.19

[C#] 프로그래머스 동적 프로그래밍 - N으로 표현

https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 동적 프로그래밍은 코드는 쉬운데 코드 구현 개념이 너무 어려운듯,,using System;using System.Collections.Generic;public class Solution { public int solution(int N, int number) { if (number == N) return 1; HashSet[] dp = new HashSet[9]; for (int i =..

공부/C# 2025.03.09

[C#] 프로그래머스 스택/큐 - 프로세스

https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr using System;using System.Collections.Generic;public class Solution { public int solution(int[] priorities, int location) { int answer = 0; Queue queue = new Queue(); //index, priority for (int i = 0; i

공부/C# 2025.03.09
728x90
반응형