일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- inheritance
- digitalRead
- Overloading
- java
- c++
- memory
- file access
- Pointer
- mfc
- Class
- aduino
- preprocessing
- sensor
- UNO
- Android
- Unity
- Read
- stream
- compare
- SERIAL
- Encapusulation
- parameter
- length
- APP
- atmega328
- public
- wpf
- Contour
- flutter
- Barcode
- Today
- Total
목록this (6)
폴크(FOLC)

# 정적 멤버 ( static ) > 클래스에 존재하지만 객체별로 생성하지 않고 객체들이 공유하는 멤버 > 1개만 관리 > 접근 가능 ( 클래스 멤버 함수 / 프렌드 ) > 모두 접근 가능 ( 정적 멤버를 public 으로 처리 ) > 초기화는 클래스명::정적멤버 # 정적 멤버 함수 > 객체를 생성하지 않고도 클래스 명으로 호출 가능 ( 클래스명.정적멤버함수 ) > 객체를 생성하지 않으므로 this 포인터가 없다. > 정적 멤버 변수만 사용 가능 # 상수 멤버 ( const ) > 한 번 초기화 하면 그 값을 변경하지 못하는 변수 > const 키워드 이용 ( 처음에 ) > 클래스 전체에서 이용하는 중요한 상수 # 상수 멤버 함수 > 호출된 객체의 데이터를 변경할 수 없는 함수 > const 키워드 이용..

# 재귀 호출 > 함수 내부에서 동일한 함수를 다시 호출하는 것 - 자기가 자신을 계속해서 호출하는 방식 ( 중단문 필요! ) > 알고리즘이나 자료구조에서 많이 이용# 주의 사항 > 조건문이 없거나 무한정으로 함수가 호출되면 stack 의 공간이 부족하여 crash# 소스 코드 > 1 ~ N 까지의 합int RecursiveCallFunction(int val){ if(val == 1) return val; return val + RecursiveCallFunction(val - 1);} # 패키지 > 하나의 디렉토리를 의미 ( 관련 클래스나 인터페이스 파일 들을 모두 포함 ) > 다른 패키지를 포함할 수 있고 디렉토리 계층 구조는 (.)점으로 구분 > ..

# 특정 클래스의 멤버 변수(private, protected) 에 접근하기 위해서는 public 함수를 통해서 가능 > 수많은 멤버 변수를 접근하기 위해서 public 함수를 생성하기에는 무리 > 모든 멤버 변수를 직접 접근하기 위해서 friend 키워드 이용 ( 함수, 클래스 ) # 필요 > 멤버 함수를 호출하거나 멤버 변수에 직접 접근해야 하는 상황 - 연산자 재정의 과정에서 자주 발생 # 프렌드 함수 > friend 키워드를 이용하여 선언 ( 클래스 멤버 X ) - friend return_value functionName(XXXX XXXX); > 멤버 변수에 직접 접근 가능 # 프랜드 멤버 함수 > friend 키워드를 이용하여 선언 ( 클래스 멤버 X ) - friend return_value..

# 오버로딩 ( overloading ) > 함수의 이름을 동일(중복)하게 정의 하는것 ( 객체지향 - 다형성 ) > 함수의 이름은 1개만 선언 가능하지만 시그니처가 다르면 가능 - 시그니처 : 함수 선언부에 명시되어 있는 매개변수 리스트 -> 함수 이름의 종류를 최소화 하여 생성 가능 -> 함수 호출시에 매개변수나 타입을 신경쓰지 않고 호출 가능 # 조건 > 함수 이름이 같아야 한다. > 매개변수 개수와 타입이 달라야 한다. - 반환 타입이 다르더라도 시그니처가 같다면 정의 할 수 없다. # 소스 코드 # include class TEST { public: void SUM(int a, int b) { return (a + b); } float SUM(float a, float b) { return (a..

# 오버로딩 ( overloading ) > 함수의 이름을 동일(중복)하게 정의 하는것 ( 객체지향 - 다형성 ) > 함수의 이름은 1개만 선언 가능하지만 시그니처가 다르면 가능 - 시그니처 : 함수 선언부에 명시되어 있는 매개변수 리스트 -> 함수 이름의 종류를 최소화 하여 생성 가능 -> 함수 호출시에 매개변수나 타입을 신경쓰지 않고 호출 가능 # 조건 > 함수 이름이 같아야 한다. > 매개변수 개수와 타입이 달라야 한다. - 반환 타입이 다르더라도 시그니처가 같다면 정의 할 수 없다. # 소스 코드 public class TEST { public int SUM(int a, int b) { return (a + b); } public float SUM(float a, float b) { return ..

# 생성자 ( constructor ) # 동적 할당으로 객체를 생성하게 되면 독립된 메모리 공간에서 data를 관리 > 객체 내부에 존재하는 data 들에 대한 초기화를 별도로 진행하지 않으면 자동 초기화 수행 - 0 또는 null, false > 외부에서 일반적인 초기화 과정을 진행하지 못함 - 내부 data 에 접근하지 못하는 (private) 경우 때문에 -> 필요 : 객체 생성 후 필드를 초기화 하기 위한 접근 가능한 public 함수 > 객체의 생성과 동시에 data 초기화 해주는 함수 : constructor > 객체의 이름과 동일하며 () 함수 형태를 갖는다. # 특징 > 매개변수를 전달해서 초기화 진행 가능 - 필드 자체적으로 초기화 진행 가능 ( default constructor ) ..