본문 바로가기

프로그래밍 언어

(41)
static 변수와 함수 Static 키워드 이점 1. 메모리 측면 학교라는 클래스가 있다고 가정해보자. class School { int studentNumber = 38; } public class testSample { public static void main(String[] args) { School school1 = new School(); School school2 = new School(); } } 위와 같이 학교라는 클래스를 만들고 객체를 생성하면 객체마다 별도의 studentNumber을 위한 메모리가 할당이 된다. 하지만 studentNumber가 변하지 않고 항상 모든 학교마다 같다면 static 변수로 선언해 객체마다 공유함으로써 메모리 이점을 살릴수 있다. class School { static int ..
Char를 Int로 변환하기 python에서는 만약 string, char등을 숫자로 바꾼다면, 다음처럼 하면 끝납니다. 우선 ‘문자열(String)’과 ‘문자(char)’간 차이도 없죠. s1 = "4" int(s1) // 4 java에서는 이런 방식의 형 변환이 되지 않습니다. 그리고 String, Char에 따라 방법이 다른데, 여기서는 Char을 Int로 변환하는 방법에 대해서만 정리하겠습니다. Char to Int - Ascii code 사용Permalink 컴퓨터는 문자를 기억할 수 없기 때문에, 숫자 번호에 문자를 연결하여 기억합니다. 가령 숫자 0은 문자 A, 숫자 1은 문자 B 이런 식으로요. Ascii code는 초기에 만들어진 숫자 - 문자 매핑 테이블이라고 생각하시면 됩니다. 문자 '0'의 아스키코드는 48이고..
자바 공백문자 채우기 1. 개요 이 짧은 사용방법(예제)에서는 Java 에서 문자열 을 채우는 방법을 알아 봅니다 . 우리는 주로 왼쪽 패드에 초점을 맞출 것입니다. 즉, 원하는 길이에 도달 할 때까지 선행 공백이나 0을 추가합니다. 오른쪽으로 채워진 문자열에 대한 접근 방식 은 매우 유사하므로 차이점 만 지적하겠습니다. 2. 사용자 지정 메서드를 사용 하여 문자열 채우기 Java 의 String 클래스는 패딩을위한 편리한 방법을 제공하지 않으므로 자체적으로 여러 메서드를 만들어 보겠습니다. 하지만 먼저 몇 가지 기대치를 설정해 보겠습니다. assertEquals(" 123456", padLeftZeros("123456", 10)); assertEquals("0000123456", padLeftZeros("123456", 1..
자바 소수점 올림 / 버림 / 반올림/ 절대값 안녕하세요 자바로 프로그램을 개발하다보면 반올림, 올림, 내림을 해서 계산로직을 구현하는 경우가 굉장히 많습니다 특히 반올림과 내림은 자주 사용하죠 올림은 생각보다 많이 사용하는 경우가 없는 것 같아여... 이번 포스팅에서는 자바에서 숫자의 반올림, 올림, 내림 방법에 대해서 알아보겠습니다 목차 Int를 이용한 방법(버림) String.Format 이용한 방법(반올림) Math 클래스를 이용한 방법 Int를 이용한 방법(버림) int는 소수점이 들어오면 자동으로 버림처리하여 데이터를 입력받습니다 int를 사용하여 버림처리를 할 수 있습니다 예제 public class Rounding { public static void main(String[] args) { int a = (int) 3.4; int b ..
현재 날짜, 현재 시간 구하기 Java API를 사용하여 현재 날짜, 현재 시간을 구하는 방법을 소개합니다. Java 8 이후 java.time.LocalDate java.time.LocalTime java.time.LocalDateTime Java 8 이전 java.util.Date java.util.Calendar Java 8 이후 Java 8 이후부터는 java.time 패키지의 클래스들을 사용하여 날짜와 시간을 표현합니다. 그리고, java.time.format.DateTimeFormatter 클래스를 이용하여 날짜와 시간을 원하는 형식으로 출력할 수 있습니다. 1. java.time.LocalDate java.time.LocalData 클래스는 날짜를 표현하는 클래스입니다. 현재 날짜(타임존 적용) 구하기 import jav..
referece by call vs value by call 제곧내
객체지향 설계 원칙 5가지 객체지향 5가지 원칙 인프런에서 스프링 핵심 원리 - 기본편을 수강하며 정리한 내용이다. 토비의 스프링을 읽으면서 템플릿 메소드에 대한 내용이 쉽게 와닿지않아서 수강한 내용이었는데, 도움이 많이 되었다. SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open-Closed Principle) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segragation Principle) : 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) : 의존관계 역전 원칙 단일 책임 원칙, Single Responsibility Principle 하나의..
Stream 사용 주의사항 1. Stream은 단순한 흐름이다. 그러므로 입력값의 변화는 이루어낼수 없다. 입력값이 변하기를 원한다면 for-loop문을 사용하길 권장한다. 2. Stream은 break나 continue를 이용해서 멈출수가 없다. 흐름이 한번 시작되면 그 흐름의 끝을 맞이해야 한다. 그러므로 중간에 멈춰서 성능향상을 유도한다면 Stream이 아닌 for-loop 사용을 권장한다.