본문 바로가기

분류 전체보기110

[안드로이드] 커스텀 폰트 적용하기 (Android Custom Font) 뷰를 짜다보면 시스템 기본 폰트가 아니라 커스텀 폰트를 적용해야할때가 있죠❗️커스텀 폰트를 적용하는 방법은 아주 간단하답니다.우선 적용하고 싶은 폰트와 안드로이드 프로젝트를 준비해주세요.저는 notosans를 넣어보겠습니다.1. res 아래에 font 디렉토리를 생성합니다. 2. 폰트 파일을 복사해서 넣어줍니다.폰트 파일 형식은 ttf와 otf가 있죠?윈도우는 ttf, 맥은 otf를 사용하는데, 그러다보니까 안드로이드에서도 ttf를 사용해야한다고 생각하는 경우가 많습니다하지만 안드로이드에서는 otf를 사용하는 것이 더 좋습니다.우선 안드로이드에 ttf, otf 모두 적용이 가능한데 둘을 비교했을 때 폰트 크기가 작은 경우에 otf 형식이 더 보기좋게 그려진다고 합니다.또한, otf의 파일 사이즈가 ttf.. 2020. 5. 26.
[Spring, JPA] PK의 auto_increment가 범위를 벗어날 경우 안녕하세요. 😃 JPA와 데이터베이스 관련해서 새로 알게 된 내용이 있어서 간단하게 정리해보려고 합니다. 스프링에서 엔티티 클래스를 만들 때 아래와 같이 Long 값을 pk로 잡고 @GeneratedValue를 이용하여 auto increment 되도록 많이 사용하실거라고 생각합니다. @NoArgsConstructor @Entity public class Book() { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; @Builder public User(String title, String content) { this.title = titl.. 2020. 5. 18.
[Java] 오버로딩(overloading)과 오버라이딩(overriding) 차이점 이번에는 오버로딩(overloading)과 오버라이딩(overriding)에 대해 알아보겠습니다. 이 두 개념은 동일한 메서드명을 기반으로 동작한다는 공통점 때문에 많이 헷갈리는 개념인데요! 1. 오버로딩은 같은 이름의 메서드이지만 매개변수 부분을 다르게 정의하는 것입니다. 2. 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것입니다. 오버로딩 예시 코드를 살펴볼까요❓ 이렇게 같은 이름의 메서드이지만 매개변수의 개수나 종류를 다르게 정의가 가능합니다. 생성자도 마찬가지입니다. 오버로딩을 사용하는 이유는 무엇일까요? 만약 오버로딩이 허용되지 않는다면 위의 코드에서 메서드명이 add 하나로 처리될 수 없고, addNumTwo, addNumThree, addStringTwo 이런식으로 메서드명.. 2020. 5. 3.
[Java] 접근 제어자 정리(private, default, protected, public) 오늘은 자바의 접근 제어자(Access Modifier)를 정리해보도록 하겠습니다. 접근 제어자는 클래스, 변수, 메서드 앞에 붙으면서 이에 대한 접근을 제어해주는 예약어입니다. 자바의 접근 제어자는 4가지가 있습니다. private 같은 클래스 내에서 사용 가능 default 같은 패키지 내에서 사용 가능 protected 같은 패키지 내에서 사용 가능, 상속 관계일때 다른 패키지에서 사용 가능 public 같은 프로젝트 내에서 사용 가능 아래와 같은 패키지 구조가 있을때, 위의 표를 적용해볼까요❓ 1. A에서 private 변수를 만들면 A에서 사용이 가능합니다. 2. A에서 default 변수를 만들면 A, B에서 사용이 가능합니다. 3. A에서 protected 변수를 만들면 A, B, C에서 사.. 2020. 5. 3.