# Language

    [Kotlin] 코틀린 개념 정리

    주제 코틀린 기초 개념 정리 1. 코틀린에 대해 알아보기 1.1 코틀린이란? 1.1.1 코틀린이란? 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어로, 기존 Java 언어나 프레임워크와 함께 작동할 수 있다. 구글에서 지정한 안드로이드 공식 지원 언어이며, 여러 IT 대기업들이 채택한 각광받는 언어 Jetbrains에서 개발하였음 1.2 특징 1.2.1 멀티 패러다임 언어 함수형 프로그래밍과 객체 지향 프로그래밍을 모두 지원하는 멀티 패러다임 언어이다. # 함수형 프로그래밍 - 함수는 일반 값처럼 변수에 저장할 수 있고, 다른 함수의 인자로도 넘길 수 있다 - 불변 객체를 사용하여 프로그램을 작성한다. - 입력이 같으면 항상 같은 출력을 보장하고, 함수 외부의 다른 객체를 건드리지 않는다. (순수함수) ..

    Checked Exception과 Unchecked Exception 이란? 예외 처리 기법

    주제 Checked Exception과 Unchecked Exception Exception별 예외 처리 방법 1. Error 와 Exception 1.1 Error와 Exception의 차이 Error와 Exception은 문제가 생겼다는 점에서 비슷하지만 다른 클래스이다. Error란 시스템이 비정상적일 때 발생하고, 개발자가 미리 예측하거나 대처하기 어렵다 Ex) 메모리 부족(Out of Memory), 스택 오버플로우(StackOverflow) Exception이란 개발자의 실수 혹은 구현한 코드 레벨에서 발생하는 오류로 미리 예측하거나 대처할 수 있다. NullPointerException, FileNotFoundException 등등 1.2 Exception의 종류 Exception의 종류는 ..

    [Java] [Mac] 여러 버전의 Java를 설치/변경하기

    개요 여러 프로젝트를 운영하다 보니 프로젝트 마다 다른 Java 버전을 사용해야 하는 경우가 발생했다. Java의 여러 버전을 설치하고 변경하는 방법을 알아본다. Brew를 통한 Java 여러 버전 설치 Brew를 통해 Java를 간단하게 설치할 수 있다. # openjdk를 설치할 수 있도록 추가 $ brew tap adoptopenjdk/openjdk # 설치 가능한 jdk 검색 $ brew search jdk # Java 설치 $ brew install --cask adoptopenjdk8 $ brew install --cask adoptopenjdk11 $ brew install --cask adoptopenjdk13 Java 설치 확인 / 버전 변경 # 설치된 Java 목록 확인 $ /usr/l..

    [Java 8] Stream 정렬 예제 메모

    import lombok.Getter; import lombok.ToString; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; /** * MyMockTest class. * * Describe here. * * * * History: * damian.lee, 0.0.1, Created at 2022.08.22 * * * @author : damian * @version : 0.0.1 */ public clas..

    양방향 연관관계 매핑을 위한 연관관계 편의 메소드

    양방향 연관관계에서 양쪽 객체의 관계를 모두 채워주기 위한 편의 메소드 한쪽에서만 두 관계를 설정하도록 하는 것이 안전하다. 연관관계 편의 메소드가 위치할 곳은 비즈니스 로직에 따라 다름 김영한 강사 답변1 김영한 강사 답변2 다대일 양방향 관계 뿐만 아니라 일대일 양방향 관계에서도 적용 가능한 메소드 양방향 연관관계 관련 스터디 링크 https://kingpiggylab.tistory.com/340?category=908877 엔티티 매핑 2 (연관관계) 연관관계 매핑 기초 목표 🤔 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 객체가 지향하는 패러다임과 관계가 지향하는 패러다임의 차이를 이해하고 적절하 kingpiggylab.tistory.com 연관관계 편의 메소드가 ..

    [Java] 향상된 for문 콜론 ":" 연산자

    String[] array = {"a", "b", "c"}; for(String s : array){ System.out.println(s); } Java 5부터 지원

    [Java] 2차원 배열 인덱스

    int[][] test = {{1,2,3}, {4,5,6}}; System.out.print(test[1][1]); // 5 출력 //넣은 순서대로 0 번째줄 -> 1번째 줄 쭉쭉 // test[0][0] : 1 // test[0][1] : 2 // test[0][2] : 3 // test[1][0] : 4 // test[1][1] : 5 // test[1][2] : 6

    Random 클래스 이용한 중복 없는 난수 생성하기 ( 1 to 99)

    package com.testpj.test; import java.util.Random; public class test { public static void main(String[] args) { int count = 20; // 난수 생성 갯수 int a[] = new int[count]; Random r = new Random(); for(int i=0; i

    Java 패키지 네이밍

    1 개요[편집] Java / Naming a Package자바 / 패키지 네이밍 자바 패키지를 생성할 때 따라야 할 네이밍 컨벤션 2 네이밍 컨벤션[편집] 소문자만 사용 클래스, 인터페이스 이름과의 충돌 방지 회사는 인터넷 도메인을 뒤집어 사용 com.example.mypackage 는 example.com 회사의 프로그래머가 패키지 명을 mypakcage로 만든 경우임. 도메인 명을 패키지 명으로 사용하는 이유는 도메인 명은 유일한 식별자로 다른 패키지명과 중복될 가능성이 현저히 낮아짐 동일 회사 내에서 동일 패키지는 지역, 프로젝트 명 등을 사용하여 구분이 가능 com.example.region.mypackage 숫자, 하이픈, 예약어가 사용된 경우는 언더 스코어로 대치해 줌 Legalizing Pa..

    [C++] char, char*, char& 비교

    char : 기본 타입 변수 char* : 포인터 변수 char& : 참조 변수 포인터 변수는 참조를 리턴하는 함수처럼 좌항 (L-value)에 쓸 수 없다. char c = 'a'; // 변수 c 생성, 'a' 로 초기화 char* p = &c; // 포인터 변수 p 생성. p는 변수 c의 주소를 가짐 char& s = c; // 변수 s는 이름만 생성. s는 c에 대한 별칭, c와 변수 공간을 공유