![[JAVA] 객체지향프로그래밍(OOP)의 클래스와 객체 그리고 인스턴스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6q0M9%2FbtrwaEMoeOB%2FaLUHw9VKKMoXXJsTYUnkq0%2Fimg.png)
목표 객체지향 프로그래밍(OOP)와 클래스와 객체 그리고 인스턴스에 대해 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. 클래스와 객체 그리고 인스턴스 2. OOP특징(1) - 상속 3. OOP특징(2) - 다형성 4. OOP특징(3) - 추상화 5. OOP특징(4) - 캡슐화 정리(객체지향 프로그래밍이란?) 개요 자바는 흔히 객체지향 프로그래밍 언어(Obejct-Oriented Programming, OOP)라고 합니다. 객체지향 프로그래밍이란, 실생활에 존재하는 것들 사이의 관계를 매핑하여 컴퓨터에 구현하고자 하는 뜻에서 개발된 것입니다. 컴퓨터에 구현하기 위해 클래스를 이용해 연관 있는 기능(메소드)와 데이터(변수)를 하나의 객체로 묶어서 생성해서 사용하는 것입니다. 이에 대한 ..
![[Windows API] Win32 API의 그리기 모드와 ROP2 모드, 선 그리기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiukK9%2Fbtrtla1AflO%2FqeQIQlF6KtdfFdq8vJx101%2Fimg.png)
목표 Win32 API에서 제공하는 그리기 모드와 RopMode에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. Win32 API의 그리기 모드 2. RopMode를 활용해 선 그리기 정리 개요 이전 포스팅에서 GDI 오브젝트 중 하나인 펜과 브러쉬를 활용해 도형을 그리는 실습을 진행했습니다. 이번 포스팅에서는 그리기 모드와 RopMode에 대해서 다뤄보도록 하겠습니다. Win32 API를 활용해서 만든 프로그램의 모션은 조금 어색합니다. 최근 컴퓨터의 처리 능력이 높아져서 덜하지만, 버벅이거나 끊기는 듯한 느낌은 어쩔수 없이 들게 됩니다. 이러한 부분을 보완하기 위해서 RopMode를 활용할 수 있습니다. 특히, RopMode를 활용하여 애니메이션 효과를 줄 수도 있습니다...
![[백준] 1107번 리모컨, 파이썬 문제 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOa2ZD%2Fbtrs9h0Igky%2FixZ684wdCqClJQtj2bEfR1%2Fimg.png)
문제 백준 1107번 리모컨 문제를 해결했습니다. https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 ..
![[Windows API] Win32 API의 펜과 브러쉬, Old의 의미](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbH386n%2FbtrsQqRHJtB%2FIJbso2VUPVRA3nmegcOrNk%2Fimg.png)
목표 펜과 브러쉬를 활용해 화면에 도형을 출력해보고, Old의 의미에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. 펜(Pen) 2. 브러쉬(Brush) 3. Old의 의미 정리 개요 저번 포스팅에서 GDI, DC 등 그래픽 출력을 위한 기본적인 이론과 스톡 오브젝트에 대해 다루었습니다. [Windows API] Win32 API의 그래픽, GDI와 스톡 오브젝트(Stock Object) 이번 포스팅에선 펜과 브러쉬를 활용해 화면에 도형을 출력하는 실습을 진행할 것입니다. 기본적으로 GDI 오브젝트를 만들어 사용하는 원리는 다음과 같습니다. 펜을 사용하는 것을 예시로 들어보겠습니다. HPEN MyPen, OldPen; // 1.핸들을 선언한다. MyPen = CreatePen..
![[Windows API] Win32 API의 그래픽, GDI와 스톡 오브젝트(Stock Object)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYoO8V%2FbtrsL936EKd%2FqUwphxV49rpiqafPf4ddr0%2Fimg.png)
목표 Win32 API를 활용해 윈도우에 도형, 비트맵 등을 출력하고 ROP2 모드를 설정하기 위한 GDI, DC의 개념과 스톡 오브젝트(Stock Object)의 개념에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. GDI, GDI 오브젝트, DC의 개념 2. 스톡 오브젝트 활용과 색상 정리 개요 GDI(Graphic Devcie Interface)와 DC(Device Context)는 이전 포스팅에서 꾸준히 다뤄온 친구들입니다. 다시 한 번 복습하고 구체적인 내용을 알아보도록 하겠습니다. [Windows API] Device Context란?, Win32 API를 활용해 문자열 출력하기 1. GDI, GDI 오브젝트, DC의 개념 GDI는 화면, 프린터와 같은 모든 출력 ..
![[백준] 1003번 피보나치 함수, 파이썬 문제 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYvcuE%2FbtrsrPYRI0Y%2FMXp7L8pF2Ukzl2d3cjLYQ1%2Fimg.png)
문제 백준 1003번 피보나치 함수를 진행했을 때 0, 1이 몇 번 출력되는지 세는 문제를 해결했습니다. https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 ..
![[백준] 11724번 연결 요소의 개수, 파이썬 문제풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5ZrLZ%2Fbtrr6zbJdBC%2FiLPrGZX4KYsEOjfMYsiXmk%2Fimg.png)
문제 백준 11724번 연결 요소의 개수를 해결했습니다. 노드와 간선의 수가 주어지면 연결되어 있는 연결 요소의 개수를 찾는 문제입니다. DFS를 활용해서 해결했습니다. https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선..
![[백준] 7569번 토마토, 파이썬 문제 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEdHKZ%2FbtrsfSt43oG%2FIYm2zkmQOg140cfgg3koCK%2Fimg.png)
문제 백준 7569번 BFS를 활용해 토마토가 익는 시간을 구하는 문제를 해결했습니다. https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 이와 유사한 문제로 7576번 토마토 문제도 있습니다. 7569번과는 토마토를 남아놓는 상자를 쌓아놓는 것(7569번), 1층밖에 없는지(7576번)가 다릅니다. 상자의 구조가 2차원인지, 3차원인지가 다릅니다. 이번 포스팅에서는 상자를 쌓아놓는 7569번의 문제 풀이를 하도록 하겠습니다..