본문 바로가기

Programming33

포인터 & 배열 + 포인터 연산 크래프톤 정글에서 포인터 공부했던 내용을 정리하는 글입니다. 배열배열(영어: array, 配列·排列, 문화어: 배렬)은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 포인터포인터(pointer)는 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 포인터가 가리키는 값을 가져오는 것을 역참조라고 한다. 그 포인터가 가르키는 공간의 값을 가져오는 것을 역참조라고한다. 32 바이트 환경에서 C언어의 포인터는 4 바이트이며, 64 바이트 환경에서는 8 바이트이다.포인터 표기포인터의 선언int* p; // int형 데이터를 가르키는 포인터 선언: 초기화하지 않음 포인터의 역참조int a = *p; // p의 위치에 있는 값을 a로 복사 주소 연산: &int s =.. 2023. 10. 19.
Static 코드를 작성하다 (바보같이) 간과하고 넘어갔던 부분에 대해 궁금증이 생겨서 조금씩 공부해보기로 했다. of 메서드를 static으로 사용하는 이유는? 둘 다 비슷한 용도로 사용하는데, toEntity 메서드와 달리 of 메서드는 static으로 되어 있다. @Getter @Builder @ToString @NoArgsConstructor(access = AccessLevel.PRIVATE) @AllArgsConstructor public class RoadmapViewportDto { private BigDecimal x; private BigDecimal y; private BigDecimal zoom; public RoadmapViewport toEntity() { return RoadmapViewp.. 2023. 10. 17.
JPA | BaseTimeEntity: 생성/수정 시간 자동 설정 BaseTimeEntity 모든 Entity의 상위 클래스에서 createdDate, updateDate를 자동으로 관리해 줌. Date자료형보다 LocalDate, LocalDateTime을 사용할 것을 추천. BaseTimeEntity 추상클래스를 구현하고 Entity 클래스들에게 상속시켜 사용한다. BaseTimeEntity 추상클래스 @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) // Auditing 기능 포함 public abstract class BaseTimeEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdDate; @.. 2023. 10. 9.
Spring Spring Framework Java 플랫폼을 위한 오픈소스 프레임워크 경량 컨테이너: 자바 객체를 직접 관리하며, 객체 생성/소멸과 같은 라이프사이클을 관리한다. POJO(Plain Old Java Object)방식의 프레임워크: 일반적인 J2EE 프레임워크에 비해 구현을 위한 특정 인터페이스를 구현하거나 상속 받을 필요가 없어 기존 라이브러리를 지원하기에 용이하고 객체가 가볍다. 제어 반전(IoC: Inversion of Control): 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어, 필요에 따라 스프링에서 사용자의 코드를 호출한다(라이브러리와는 반대: 라이브러리의 경우 사용자의 코드가 필요에 따라 라이브러리의 코드를 호출한다). 의존성 주입(DI: Dependency Injection): .. 2023. 10. 9.
01 | 기본 문법 | 변수와 리터럴 키워드(keyword) Java 언어에서 정한 예약어 변수명 하나 이상의 글자 첫번째 글자는 문자, '$', '_' 그 이후 글자는 문자, '$', '_', 숫자 길이 제한 없음 키워드는 변수명으로 사용할 수 없음 Primitive Type 기본형 타입은 모두 정해진 메모리 크기를 가지고, 주어진 메모리 안에 그 값을 저장한다. 예: int 정수 하나를 저장하기 위해 메모리에 4 byte가 필요. int i = 1; 메모리 4 byte를 i로 칭하고 정수를 저장한다는 뜻이다. 정수 리터럴(literal) 1을 i 라는 메모리 공간에 저장한 것이다. Literal이란 변수에 입력되는 값 자체. 이 4byte메모리에 숫자 1이 2진수로 저장된다. short: 2 byte, long: 8 byte float,.. 2023. 10. 4.
00 | Java의 동작: Hello.java 기초(노션) JAVA는 객체 지향 언어. 플랫폼에 독립적이다. 느리지만, 버전 업 되면서 다른 언어들의 장점을 흡수하고 있다.(모던 자바) 람다: 함수형 프로그래밍 Stream API: 람다 표현식과 메서드 참조 등의 기능과 결합하여 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하고 처리할 수 있도록 한다. 병렬 프로그래밍: 여러 개의 CPU 코어에서 작업을 배분해서 동시에 작업을 수행한다. 클래스 class 이름은 파일 이름과 동일해야 한다. 첫 글자는 무조건 대문자. public class Hello{ ... } 메서드 클래스는 필드(Field)와 메서드(Method)를 가질 수 있다. 프로그램 실행이 시작되는 시작점: main 메서드 public static void mai.. 2023. 10. 4.