본문 바로가기

전체 글81

[JAVA] static final 변수를 사용하는 이유 static final int MAX_USERS 라는 변수를 예를 들어본다package final1;public class ConstantMain { public static void main(String[] args) { System.out.println("프로그램 최대 참여자 수"+ 1000); int currentUserCount = 999; process(currentUserCount++); process(currentUserCount++); process(currentUserCount++); } private static void process(int currentUserCount){ System.out... 2025. 2. 7.
[JAVA] OptionalInt 사용법 - 최솟값, 최댓값 뽑을 때 (Feat. stream) public static int min(int[] num){ OptionalInt minValue = Arrays.stream(num).min(); if(minValue.isPresent()){ return minValue; // minValue 값이 null 이 아니라면 minValue 리턴 }else{ throw new IllegalArgumentException("처리할 명령어"); }}배열만으로 사용하지 않고 List로도 변환해서 사용이 가능하다Arrays.asList(num).stream().mapToInt(Integer::intValue).sum();  ==> sum 말고도 min,max,average 도 가능 asList(num) : num 배열을 List로 변.. 2025. 2. 7.
[JAVA] 숫자 형변환 - int형의 나눗셈으로 double형 유리수 만들기 public static double average(int[] num){ int totalNumber = 0; double a = 0; for(int i=0; i메서드 int[] num 을 받아서 전체 계산할 때부터 double 로 형변환을 해주어야 나중에 평균값 계산을 double형으로 하여 유리수 형태로 만들 수 있다 => 모르고 int 형으로 계산하고 나눠줬더니 정수값만 배출해 알게된 정보 package static2.ex;public class MathArrayUtilsMain { public static void main(String[] args) { int[] values = {1,2,3,4,6}; System.out.prin.. 2025. 2. 7.
[JAVA] 자바의 메모리 구조 Method 영역 : 클래스 정보 보관, 프로그램을 실행하는데 필요한 공통 데이터 관리Stack 영역: 실제 프로그램이 실행되는 영역, 메서드 실행시 하나씩 쌓임Hip 영역: 객체(인스턴스)가 생성되는 영역, new 명령어를 사용하면 이 영역을 사용하게 된다. 클래스(틀)로 생성된 객체(인스턴스)들이 존재하는 공간이라고 생각. 메서드 코드는 메서드 영역에예를들어 A클래스로 100개의 인스턴스를 생성한다면 힙 메모리에 100개의 인스턴스가 생성되는데 각각의 인스턴스들은 내부에 같은 메서드와 변수들을 가지게 된다. 각각의 인스턴스들의 변수 값들은 다를 수 있지만 메서드는 공통된 코드를 공유한다. 따라서 객체가 생성될 때 인스턴스 변수에는 메모리가 할당 되지만, 메서드에 대한 새로운 메모리할당은 없다. 왜냐하.. 2025. 2. 5.