로드맵 썸네일

OOP 프로그래밍의 정석 with C#

작성자 프로필 이미지

이교준

C#
DBMS/RDBMS
MSSQL

입문 대상

로드맵 참여중인 유저 프로필 사진
로드맵 참여중인 유저 프로필 사진

72명 참여중

로드맵 코스

올바른 개발 설계가 무엇인지 궁금하셨다면.”

전산학 중에 소프트웨어 엔지니어링이란 분야가 있습니다. 여기에서는 어떻게 하면 소프트웨어를 잘 개발하고 유지보수를 쉽게 할 수 있을지에 대한 질문에 답변을 찾고자 하지요. 

오래 전 미국 등 해외에서 만들어진 코드를 보면 무언가 다르다는 인식이 있던 시절이 있었습니다. 소위 프로그램 전문가들이 만들어둔 코드를 보면 뭐가 달라도 다르다는 느낌이 들고, 아주 짜임새가 좋아 보이기 때문이었습니다.

스스로에게 질문해보세요. 그리고 생각해보세요. 프로그래밍을 어느 정도 하기는 하고, 데이터베이스도 조금은 만들어서 사용하고 있는데 문제는 당신의 작품이 그런 코드와 같이 자신있게 대외적으로 공개할 자신이 있는가에 대해서 말이지요.

1990년 제가 삼보컴퓨터 개발실에 있을 때의 일입니다. 회사가 C++ 컴파일러를 샀고, 문방사우라고 하는 DTP 프로그램을 개발했습니다. C++는 객체지향 언어죠. 그러나 저를 포함해 당시 팀원들(4명)은 객체지향에 대한 개념이 없었습니다. 그래서 모두 C 프로그램을 사용해서 개발했고, C++ 컴파일러는 아주 잘 동작했습니다. 아마도 C 프로그램에서 Structure가 지원되지 않는다면 C 프로그램은 망했을 겁니다. 지금 C# 등에서 사용되는 클래스의 내부 구조는 사실 C의 Structure를 사용하는 것이니까요. 그만큼 Structure의 역할은 대단했습니다.

저는 여러분에게 문법을 설명하려고 강의를 만들지는 않았습니다. 그건 인터넷에 얼마든지 있고 노력하는 만큼 쉽게 얻을 수 있기 때문에 굳이 그런 것들을 강의에 포함하려고 하지 않았습니다. 다만 프로그램이든, 데이터베이스 설계든 자신이 개발한 결과물이 어떤 정석에 따라서 올바르게 만들어진 결과물이라는 자부심을 가질 수 있도록 하기 위해 강의를 기획하였습니다.


수강평으로 살펴보는 핵심 장점 💯

★★★★★

설명 너무 잘해주시고 이해가 쏙쏙 됩니다. 비유하시면서 설명해주시는 게 좋았습니다. 너무 만족하는 강의였습니다.

RDBMS Modeling 기초 (다랑어** 님)

★★★★★

데이터베이스의 엑기스가 녹아있는 강의라 생각됩니다. 수많은 프로젝트를 진행하시면서 나타날 수 있는 현상과 노하우를 저렴한 가격의 강의로 들을 수 있다는 것 자체가 너무 감사합니다. 

RDBMS Modeling 기초 (Yoon** Ch** 님)

★★★★★

지식공유자님 경력을 보니 컴퓨터 학원 강사로 딱 1년 가량 계셨는데 그때 선생님한테 직접 배운 분들은 참 행운아라는 생각이 드네요. 정말 제가 찾던 스타일의 강의입니다.

Database - SQL (으** 님)

★★★★★

데이터베이스 강의는 주로 쿼리 위주의 강의가 많은데 수준 높은 모델링 강의를 접할 수 있어서 감사합니다.


RDBMS Modeling 기초 (손**님)

오랜 세월 프로그램을 개발하면서 고민한 결과 프로그램은 70%의 공식과 30%의 창의력에 의해서 만들어진다는 사실을 깨달았습니다. 그 전에는 하나의 화면을 개발하는데 그냥 그려진 화면의 레이아웃을 보면서 느낌이 오는 대로 개발을 했죠. 그러나 잘 만들어진 샘플을 사용하는 기법과, CU, RD를 분리하는 기법, 그리고 사용자 컨트롤을 만드는 기법 등을 터득하며 만든 프로그램은 어떤 일이 있어도 오류가 발생하지 않고 또 코드가 복잡하지 않아 유지보수가 쉬워진다는 사실을 발견할 수 있었습니다.

무엇보다 중요한 점은 이런 이론대로 프로그램을 개발해 놓으면 소위 ‘뭔가 다른 코드’가 된다는 사실이죠. 누가 봐도 전문가의 느낌이 물씬 풍기는 그런 코드를 어떻게 개발하는지에 대한 느낌을 이 로드맵을 통해 얻을 수 있을 겁니다.


프로그램 설계 관점을 꿰뚫는 
OOP + DB 모델링의 정석 3-Step.

1️⃣
C# 프로그래밍 기초 
제대로 이해하기 

2️⃣
C# ADO.NET
데이터베이스 프로그래밍 

3️⃣
RDBMS 모델링
프로그래밍 실습 with C# 

본 로드맵은 총 3개의 강의로 구성됩니다. 물론 실전 자바 01 초보자 편 강의도 있기에, 자바(Java)로 개발하실 분들은 C# 프로그래밍 기초 강의 대신 들으시면 됩니다. 왜냐하면 자바와 C# 문법은 (물론 상이한 부분도 있지만) 거의 같다고 생각해도 무방하기 때문입니다.

이번 로드맵에서 설명하고자 했던 핵심 포인트는 본 과정을 통해 OOP(객체지향) 프로그래밍 방법과 개념을 충실하게 설명하고 데이터베이스와 연동되는 정석적인 프로그램 개발에 대한 이해를 높이는 것이었습니다. 사용하는 프로그래밍 언어가 자바인지, C#인지는 부차적인 문제입니다.

물론 본 로드맵을 수강하시기 전에 "데이터베이스 설계자가 되어 봅시다" 로드맵을 먼저 수강하시는 게 바람직합니다. 데이터베이스를 이해하지 못하면 프로그램을 개발하는 입장에서 DB에 대한 설명을 들을 때 왜 그렇게 되는지 이해하기 힘들 수 있기 때문입니다.

여러분이 이번 로드맵을 통해 배워야 하는 핵심은 OOP의 개념, 그리고 데이터베이스의 개념 및 설계 방법입니다. 이 두 가지만 정복한다면 여러분은 정말 원맨 프로젝트가 가능한 실력자가 될 수 있습니다. 함께 도전해봅시다!

로드맵 상세보기

3개 코스

로드맵에 포함된 강의 썸네일
인프런
C# 프로그래밍 기초
초보자를 위한 강좌이기 때문에 문법을 다루기는 하지만 대부분 OOP를 위한 프로그래밍 기초에 중점을 둔 강좌입니다.
객체 지향 프로그램의 능력은 C언어와 같은 Procedual 언어의 능력에 비해서 수십배 이상의 성능을 낼 수 있습니다. 그러나 그렇게 좋은 성능을 낼 수 있기 위해서는 OOP의 개념을 반드시 이해하고 적용할 수 있어야 합니다.
자신의 수준이 중급 이상이라면 디자인패턴에 대해서 공부해보실 것을 추천 드립니다. 사실 객체지향 언어의 꽃은 Interface입니다. 언젠가는 디자인패턴이 제 로드맵에 포함이 되겠지요.

55,000

로드맵에 포함된 강의 썸네일
이전에는 DataSet, DataTable을 사용해서 데이터베이스의 질의 결과를 담아서 사용했습니다. 그러나 데이터베이스 테이블은 프로그래머 입장에서 보면 참 불편한 존재이지요. 즉, 인덱서가 안되니까 배열 처리를 해야 했죠. 즉 dt[0][3] 이 뭔지 어떻게 알겠습니까. 그러나 그럴 수 밖에 없었기 때문에 사용했지만 MVC 패턴이 나온 이후 데이터베이스 테이블 처리를 위한 모델 클래스가 사용되면서 모든 개념들이 바뀌었습니다. 본 강좌에서는 모델 클래스를 사용해서 프로그램의 전반적인 기초를 어떻게 만들어가는지를 설명하고 있습니다.

55,000

로드맵에 포함된 강의 썸네일
본 강좌는 데이터베이스 설계 로드맵을 수강하신 분들을 위한 강좌입니다. 즉, 자신이 데이터베이스를 모두 설계했다고 가정했을 때, 또는 타인이 만든 데이터베이스를 대상으로 프로그램을 해야 한다고 했을 때 어떻게 프로그램을 개발하는 것이 바람직한 것인지에 대해서 설명하고 있습니다.
프로그램은 70%의 공식(규칙)에 의해서 그냥 외운 것을 늘어놓는 수준으로 개발할 수 있고, 30% 가량은 프로젝트별로 창의성이 요구되어 집니다.
본 강의는 70%의 규칙이 어떻게 구성되는지, 어떻게 하면 쉽고 간결하게 오류없이 프로그램을 개발할 수 있는지에 대해서 자세하게 설명하고 있습니다.

55,000

로드맵 코스 3