프로그래밍(6)
-
IDE 개발환경
IDE 프로그램 통합개발환경(Integrated Development Environment) 소프트웨어 개발에 관련된 모든 작업, 패키지 인클루딩, 문서 편집, 컴파일을 진행할 수 있는 개발 환경을 제공해 주는 것. 디버그, 원격 서버 액세스, 바이너리 배포 등을 하나의 프로그램 안에서 모두 처리하는 환경을 제공하는 툴. 비슷한 말로는 고속 개발 도구가 있다. Visual Studio, 이클립스가 IDE의 예의 하나다.
2023.05.10 -
C# 오버로딩
오버로딩은 주로 함수에서 많이 쓰는 편인데, 함수의 이름이 같을 경우에 보통 에러가 나는 것으로 알고 있는데, 파라미터의 개수가 다르거나 파라미터의 자료형이 다르면 함수의 이름(식별자)이 같아도 다르게 취급되는 걸 말한다. 대강 이런 식으로 같은 함수이지만 다르게 취급되어 에러가 나지 않고, 이 함수를 불러올 때에도 파라미터를 어떻게 입력받느냐에 따라서 각자 함수를 선택해서 진행된다. 자료형까지 이름으로 본다고 생각하면 쉽게 이해할 수 있다. 같은 이름을 써도 IDE에서 종류를 선택해서 입력할 수 있도록 해준다. 또한, 생성자도 오버로딩이 된다.
2023.05.10 -
C# Partial 활용
partial이라는 것은 쉽게 말하면 클래스를 cs 파일별로 나눠서 클래스에 대한 정보를 정의할 수 있는 방식이다. 이렇게 다른 파일에다가 partial을 활용한 클래스를 만들어 놓고, 그 안에다가 함수를 선언해 놓은 다음에 다른 파일에서 pu라는 내가 만든 함수를 활용할 수 있게 되는 형식이다. 다른 cs 파일에서 선언하지 않은 클래스 내의 함수 pu를 쓸 수 있게 된다. partial을 붙으면 뭐가 달라지는 건지라고 하면, 클래스를 쪼갤 수 있다. 예를 들어서 클래스에 A B C 넣어놓고, 다른 파일에서 클래스에 D E F를 넣어놓아도 클래스에 하나로 취급한다. 클래스에 함수가 너무 많아서 보기 어려울 때 쪼개서 할 수 있다. 하나의 클래스에 너무 많은 것을 넣어야 해서 보기 어려울 때 다른 파일에 ..
2023.05.09 -
C#의 메모리(함수까지)
메모리는 C#을 배워야 하기 때문에 알아야 하는 거는 아니고 모든 프로그램의 근간이 되는 지식이다. 모든 프로그램은 공짜는 없다. 메모리를 지불하기 때문에 메모리 구조를 아는 것은 코드의 동작 원리를 아는 것과 같다. 객체를 만들었다는 건 메모리를 지불한다는 것이다. 램이라는 것은 이진수로 되어 있는데 이런 게 예를 들어 램이 4기가면 4기가바이트 어치나 있다. 램 위에 올라가는 게 운영체제(OS)가 있다. 우리가 만든 프로그램이 차지하는 램 공간은 사실 매우 작다. 우리가 만든 프로그램은 4개의 영역으로 나뉜다. 코드 / 데이터 / 힙 / 스택으로 나뉜다. 각자 들어가는 영역이 존재하는데 객체로 만들었을 때 코드 그 자체가 영역에 존재하는 것이다. 상수는 코드 영역에 올라가 있다. 수정이 불가능한 것들..
2023.05.08 -
접근제한 지정자 Private & Public & Protected
Private / public private는 동일 패키지에 같은 클래스 접근으로만 가능하다. public은 다른 패키지까지 모두 접근이 가능하다. void를 같이 쓰는데 void는 리턴하는 값이 없다는 의미다. protected는 상속받은 자식만 접근할 수 있다는 것. 그냥 쓰면 private다. Public 전역변수 private 지역변수 이런 식으로 보통 부르기도 한다. 지역변수면 내부에서만 사용이 가능하다. 선언되는 순간 지역변수는 메모리화 되고 끝나면 사라지는 것. 객체지향의 캡슐화, 은닉화를 대표하는 문법 = 접근 제한 지정자. 코드를 입력할 때 만들어 놨는데 식별자에 .을 찍어도 안나오면 접근제한 지정자 문법을 사용하지 않아서 IDE 환경에서 안 나오는 것이다.
2023.05.05 -
백준 10430번 나머지(JAVA, C#)
C# using System; namespace Baekjoon { class Program { static void Main() { string s = Console.ReadLine(); string[] ss = s.Split(); int a = int.Parse(ss[0]); int b = int.Parse(ss[1]); int c = int.Parse(ss[2]); Console.WriteLine((a+b)%c); Console.WriteLine(((a%c)+(b%c))%c); Console.WriteLine((a*b)%c); Console.WriteLine(((a%c)*(b%c))%c); } } } ////////////////// JAVA import java.util.*; public clas..
2023.03.29