C++ 클래스 란 - C++ keullaeseu lan

OOP

[OOP] 클래스(class)란? [C#][C++][Java]

C#, C++, Java는 객체지향 프로그래밍 언어(object-oriented programming language)입니다. 객체지향 프로그램은 객체들로 구성되어 있습니다. 우리가 이러한 프로그램들을 만들기 위해서는 객체들을 정의할 수 있어야 합니다. 이 때 필요한 것이 바로 클래스(class)입니다.

클래스(class)란?

클래스는 어떤 종류의 객체를 만들기 위한 수단입니다. OOP에서는 프로그래머가 여러 가지 클래스들을 정의하고, 이에 속하는 객체들을 정의합니다. 그리고 객체들이 언제 무엇을 할지를 정해야 합니다. 객체지향 프로그램은 이런 방식으로 만들어집니다. OOP에서 가장 핵심적인 개념은 바로 클래스와 객체입니다. C#, C++, Java로 프로그램을 개발하기위해서는 이들을 이해하는 것이 최우선입니다.

클래스의 이름

각 클래스는 이름을 가지며, 프로그래머는 이를 정해야 합니다. 이것은 클래스들을 구별하기 위한 식별자(identifier)이며, 객체들을 정의할 때 이 이름이 필요합니다.

클래스의 필드와 메소드

하나의 클래스는 0개 이상의 필드(field)와 메소드(method)를 갖습니다. (참고: 필드와 메소드가 하나도 없는 클래스를 정의할 수는 있습니다.) 필드는 객체가 갖는 고유한 값(예: 이름, 생년월일, 지름, 면적, ...)들을 의미하고, 메소드는 객체가 무엇을 하는지를 프로그래머가 정의한 것입니다. 개발자들은 클래스에 무슨 필드가 들어가야 하는지, 메소드의 이름과 파라메터는 무엇으로 할지, 메소드에 작성할 코드는 어떻게 만들어야 하는지를 결정해야 합니다. 이들이 OOP를 하는데 있어 가장 기초적이고 핵심적인 일들입니다.

참고로 C++에서는 필드를 멤버 변수(member variable), 메소드를 멤버 함수(member function)이라고 합니다.

필드와 메소드의 접근 권한

각 필드와 메소드는 어떤 종류의 접근 권한을 갖는지를 프로그래머는 정의할 수 있습니다. 언어별로 종류는 다음과 같습니다.

C#

C++

Java

의미

public

public

public 

객체의 필드나 메소드를 공개합니다.

private

private

private

객체의 필드나 메소드를 숨깁니다.

protected

protected

protected

부모 클래스의 필드와 메소드가 자식 클래스에 공개됩니다.

(부모 및 자식 클래스는 상속(inheritance)과 관련된 개념입니다. 이에 대해서는 별도로 다룰 예정입니다.)

internal

(별도로 다룰 예정입니다.)

protected internal

(별도로 다룰 예정입니다.)

안녕하세요. 잇킹 시도르입니다.

최근에서 프로젝트에서 인프라 담당자들끼리 VPC IP를 C클래스로 하겠다 B클래스로 한다 등의 말을 나누는 것을 들었습니다. IP 클래스가 무엇인지, 어떤 목적을 가지는지 몰랐었는데요. 이번에 그 의미를 알아보게 되었습니다.

IP는 네트워크와 호스트 부분으로 나누어져 있습니다.

https://sidorl.tistory.com/30?category=859284

IP 표기 보고 사용가능한 IP 수 알아내기

안녕하세요. 잇킹 시도르입니다. 시스템을 운영하거나 프로젝트를 마무리하게 되면 정리할 문서도 많고 응대할 내용도 많습니다. 특히 저는 네트워크 관련 지식이 적어서 해당 내용을 담당자에

sidorl.tistory.com

C++ 클래스 란 - C++ keullaeseu lan

이때 IP에서 어디까지 네트워크 영역이고 어디부터 호스트 영역인지 알 수 있게 해 주는 게 IP 클래스입니다.

IP 클래스는 A~E 클래스가 있으며, 주로 A,B,C 클래스가 사용된다고 합니다.

각 클래스의 내용은 검색하던 중에 잘 정리된 글이 있어서 링크 추가합니다. 해당 글 끝에 정리까지 잘 되어있네요.

https://limkydev.tistory.com/168

[Network] IP주소 클래스(A,B,C class)란?

*선행지식 2018/11/10 - [전공지식/Network] - [Network] IP주소란? (IP클래스를 이해하기 전 IP주소에 대해서 먼저 아셔야 이해하기 쉽습니다.) 1) IP주소의 클래스란? 지난시간 IP주소에 대해 배웠는데 잠시

limkydev.tistory.com

C++ 클래스 란 - C++ keullaeseu lan

추가로 서브넷 마스크 내용입니다. 기존에 저는 서브넷 마스크를 넷마스크를 통해서 하나의 네트워크를 분할한 그룹이라고 정리했었는데요

https://sidorl.tistory.com/30?category=859284

IP 표기 보고 사용가능한 IP 수 알아내기

안녕하세요. 잇킹 시도르입니다. 시스템을 운영하거나 프로젝트를 마무리하게 되면 정리할 문서도 많고 응대할 내용도 많습니다. 특히 저는 네트워크 관련 지식이 적어서 해당 내용을 담당자에

sidorl.tistory.com

C++ 클래스 란 - C++ keullaeseu lan

IP 클래스의 기본 서브넷마스크에서 더 효율적으로 서브 네팅(네트워크 영역과 호스트 영역을 쪼개는 작업)하는 것이라고 볼 수 있다고 합니다.

https://limkydev.tistory.com/166

[Network] 서브넷마스크(Subnet Mask)란?

*선행지식 2018/11/10 - [전공지식/Network] - [Network] IP주소란? 2018/11/11 - [전공지식/Network] - [Network] IP주소 클래스(A,B,C class)란? 1) 서브네팅이란? (Subnetting) 서브넷마스크를 알기 위해선 먼..

limkydev.tistory.com

C++ 클래스 란 - C++ keullaeseu lan

처음으로 되돌아가서 프로젝트에서 C클래스로 IP를 생성한다는 의미는 네트워크 시작 번호를 192.0.0~223.255.255으로 하며, 호스트 범위가 255개(2^8 - 2)라는 의미였겠네요.

이상입니다.