반응형

캡슐화 30

[C# 캡슐화 실습] 캠퍼스 생활 - 학생 클래스 정의하기

[C# 캡슐화 실습] 캠퍼스 생활 - 학생 클래스 정의하기 캠퍼스 생활은 콘솔 기반의 응용 프로그램이다. 프로그램은 초기화 과정을 진행한 후에 사용자 명령에 따른 동작 수행을 반복한다. 초기화에서는 사용자가 원하는 수만큼 학생들이 생성된다. 학생은 사용자에 의해 이름을 결정하고 학번은 차례대로 부여한다. 사용자 명령에 따른 동작은 종료 메뉴를 선택하기 전까지 선택한 메뉴를 수행하는 것을 반복한다. 메뉴에는 판서 강의, 발표, 세미나, 책 읽기, TV시청, 잠 자기, 전체 보기가 있다. 판서 강의를 선택하면 전체 학생은 판서 강의 듣기를 수행한다. 세미나를 선택하면 특정 학생을 선택하여 선택한 학생은 세미나를 발표하고 나머지 학생은 세미나를 듣는다. 책 읽기에서는 특정 학생을 선택하여 선택한 학생만 책을 ..

[C++ 무료 동영상 강의] 14. 캡슐화 개요

[C++ 무료 동영상 강의]14. 캡슐화 개요 다루는 내용C언어 구조체,C++ 클래스,캡슐화,C++ 캡슐화 장점, 다형성 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C++] 14. 캡슐화 개요

[C#] 5. 캡슐화

5. 캡슐화 C#에서는 프로그램 목적에 맞게 사용자가 형식을 정의할 수 있습니다. C#에서 사용자가 형식을 정의하기 위한 문법으로 클래스와 구조체, 열거형 등을 제공하고 있는데 열거형에 대해서는 앞에서 다루었으며 여기에서는 클래스와 구조체에 대해 알아봅시다. 클래스와 구조체는 여러 개의 멤버를 하나의 형식으로 묶어 하나의 형식으로 정의할 수 있습니다. 이와 같은 작업을 캡슐화라고 하는데 C언어에서는 구조체만 제공하고 있으며 캡슐화 대상도 멤버 필드(멤버 변수)로 한정되어 있었습니다. C++언어에서는 클래스를 제공하고 구조체와 클래스에 캡슐화 대상이 멤버 필드뿐만 아니라 멤버 메서드도 캡슐화 대상입니다. 그리고 C언어는 캡슐화된 멤버에 접근 지정자를 제공하고 않아서 모든 멤버에 접근할 수 있습니다. 이는 ..

[C++] 2.2.1 접근 지정자

2.2.1 접근 지정자 C언어의 구조체는 모든 곳에서 모든 멤버를 접근할 수 있습니다. 이러한 특징으로 인해 잘 정의된 함수를 이용하여 구현하기로 약속하였음에도 불구하고 직접 멤버를 사용하는 경우가 발생합니다. 예를들어 학생 구조체에 멤버 변수 iq가 있고 공부를 하면 특정 범위까지 iq가 올라가게 프로그래밍을 한다고 가정합시다. 이를 위해 다음과 같이 Stu.h와 Stu.c에 학생 구조체를 정의하고 학생이 공부하는 함수를 정의를 하였습니다. Stu.c - Study 함수에서 tcnt만큼 iq를 증가시킴. 단, 최대 IQ를 벗어날 수 없게 작성하였음 #include "Stu.h" void Study(Stu *stu,int tcnt) { stu->iq += tcnt; if(stu->iq > MAX_IQ) ..

[C++] 2. 1 캡슐화란?

2. 1 캡슐화란? 이번 장부터 C++의 클래스에 관한 얘기가 시작됩니다. 클래스에 대해 문법을 효과적으로 이해하고 사용하기 위해서는 OOP(Object Oriented Programming, 개체 지향 프로그래밍)의 특징을 잘 인지하여야 합니다. 개체 지향 프로그래밍(많은 곳에서 개체를 객체라 부르고 있습니다. 여러분이 MSDN을 통해 학습을 하다 보면 객체로 번역하지 않고 개체로 번역된 것을 보게 됩니다. 이 책에서는 MSDN에 번역된 것처럼 개체라고 부르겠습니다.) OOP의 특징을 얘기할 때 많은 이들이 OOP의 세 가지 기둥을 얘기합니다. OOP의 세 가지 기둥에는 캡슐화와 상속, 다형성이 있습니다. 이 중에 캡슐화는 여러 개의 멤버를 하나의 형식으로 묶어서 정의하는 것을 말합니다. 예를 들어, ..

[C# 동영상 강의] 4. 클래스(Class)

[C# 동영상 강의] 4. 클래스(Class) 다루는 내용클래스OOP (캡슐화, 상속, 다형성) 대본 슬라이드 1본 강의에서는 C#에 기본 문법에 대해서 살펴보기로 하겠습니다. 슬라이드 2클래스는 변수나 메서드 및 이벤트들을 그룹화하여 사용자 지정 형식을 만드는 형식입니다.이를 통해 런타임 시에 개체를 생성할 수 잇으므로 개체에 대한 청사진이라 할 수 있습니다.클래스를 통해 데이터 및 동작을 정의할 수가 있으며 개체들은 CLR에 의해 관리가 되어 더 이상 해당 개체를 참조하는 변수가 없게되면 CLR에서 가비지 수집 대상으로 표시를 합니다.클래스를 통해 다음과 같은 OOP의 세 기둥을 표현할 수 있습니다.멤버를 그룹화하여 디자인하는 캡슐화와 기반 형식을 통해 파생된 형식을 정의하는 상속, 런 타임시에 다양..

[Java] 4. OOP 캡슐화

출간일 2016년 11월 28일판매가 2000원형태 ebook 이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다. 4. OOP 캡슐화 프로그래밍 언어의 종류는 셀 수 없을 정도로 많습니다. 초기의 코볼이나 파스칼, 포트란등의 언어는 기능 중심으로 프로그램을 구성하기 쉬운 구조적 프로그래밍 언어입니다. 그런데 프로그래밍 역사가 발전하면서 사람이 살고 있는 세상과 비슷한 구조로 표현할 수 있는 OOP[1]에 관한 연구를 진행하였습니다. 그리고 Java 언어와 C# 언어 등은 OOP 언어입니다. OOP 언어는 사용자 정의 형식을 만들 때 데이터와 기능..

C언어에서의 캡슐화, C언어 소스

C언어에서의 캡슐화, C언어 소스 캡슐화는 여러 멤버를 하나의 형식으로 묶는 것을 말합니다. C언어에서의 캡슐화는 주로 구조체를 이용합니다. 그리고 C언어의 구조체는 멤버 변수(멤버 변수, 멤버 데이터)로 구성합니다. 간단한 예를 들어봅시다. 유닛은 일련 번호와 이름 , 체력 데이터를 갖습니다. 그리고 유닛을 동적으로 생성하며 훈련, 휴식할 수 있습니다. 유닛의 멤버 데이터를 가져오기 할 수 있는 접근자가 있습니다. 유닛의 체력 데이터를 설정자가 있습니다. 체력은 최소(0) 체력, 최대(100) 최력 사이에서 변할 수 있습니다. #include #include #include #define MAX_HP 100//최대 HP#define MIN_HP 0//최소 HP typedef struct Unit//유닛..

26. 캡슐화 최종 실습 - 구체적 구현

안녕하세요. 언제나 휴일, 언휴예요. 이번에는 캡슐화 최종 실습의 마지막 단계인 구체적 구현을 할 차례네요. 여러분께서는 먼저 구현한 후에 비교해 보세요. 이제 마지막으로 메서드를 구체적으로 구현합시다. 약속한 기능을 구현하면서 필요하면 별도의 메서드를 추가하세요. 여기에서 추가하는 메서드는 다른 형식에서 호출해서 사용하지 않는 메서드이므로 접근 지정을 private으로 지정하세요. 특히 멤버 필드의 값이 특정 범위 내에 있어서 필터링을 요구하면 설정자 메서드를 추가하여 구현하세요. 설정자 메서드에서 멤버 필드 값을 범위 내에서 조절하는 기능을 작성하면 버그를 만들 확률을 줄일 수 있습니다. 여러분께서 각자 구현해 본 후에 비교해 보세요. 여기에서는 지력, 체력, 스트레스, 연속으로 공부한 횟수는 범위가..

반응형