전체 글(58)
-
#ifdef, endif, #pragma once, #ifndef
해당 매크로가 정의되어 있다면 ifdef와 endif사이의 코드를 컴파일하게 된다. #ifdef 매크로 ~~~ #endif #else ... 파일들을 관리할 때 필요한 코드들만 적용하고 싶다 할때 쓰면 좋다 #pragma once 인클루드 가드 include 시에 중복된 것이 올 경우 한번만 쓰면 된다고 표시해주는 것 #ifndef .h file name .h 파일이 정의되어 있다면 더 이상 정의하지 마라
2022.09.19 -
Java 상속
클래스를 만들 때 공통된 변수들이나 함수들이 있다면 해당 공통점을 모아서 클래스로 만들어줄 수 있다. 해당 클래스의 공통점을 모아서 다른 클래스에 상속시킬 수 있다. 상속시켰을 때 해당 클래스를 부모(base, parent) 클래스라고 할 수 있고, 자식(child)클래스라고 할 수 있다. public class Student extends Person{ .... } extends 키워드를 이용해서 person을 상속받아서 person 안의 멤버변수랑 함수를 이용할 수 있게 된다. 그런데 person 을 상속받는데 person에서 생성자 있는데 상속을 받을 때는 생성자를 써서 초기화를 해줄 수가 없다. 해당 문제는 super함수를 이용해서 해결할 수 있다. public class Person { Stri..
2022.08.20 -
맨날 헷갈리는 assert 함수
assert(instance == null) : "it is not correct access"; assert (조건문) 은 조건문이 참이 아니라면 에러를 내고 멈추게 된다.
2022.08.19 -
[C언어] 포인터 및 메모리 정리
포인터의 의미 포인터는 주소를 저장하는 것을 의미한다. 이것만 알고 있다면 헷갈릴 필요가 없다. 포인터의 용도, 유용성 포인터는 값들을 복사하는것이 아니라 해당 값을 가지고 있는 주소를 복사해오기 때문에 큰 용량의 데이터를 다룰 때 유용하다. C언어에서 함수의 반환값은 하나이기 때문에 둘 이상의 반환을 하기 위해서는 포인터의 이용이 필수적이다. 반환한다기보다는 함수 내에서 원본을 수정하여 둘 이상을 반환하는 효과를 보는 것이다. 동적 메모리를 할당할 때 포인터가 필수이다. 동적 메모리 할당 시에 기존 정적 메모리와 할당하는 위치나 방식이 다르기도 하고 또 크기도 다르므로 꼭 알 필요가 있다. 연결리스트, 트리 등 데이터 구조에서 포인터의 이용이 필수이다. 역참조 연산자와 포인터 선언 포인터의 선언은 in..
2022.08.18