분류 전체보기

    성적 정렬하기 (오름차순)

    성적 정렬하기 (오름차순)

    문제 입출력 문제풀이 따로 정렬 알고리즘을 구현하지 않고 내장 메서드를 이용하는 것이기 때문에 Arrays.sort() 에 해당된 배열 인자값만 잘 넣어주기만 하면되는 간단한 문제이다. import java.util.Arrays; class Main { public static void main(String[] args) { int array[] = {88, 50, 38, 100, 90, 100, 99, 65}; System.out.println("정렬전 "+Arrays.toString(array)); Arrays.sort(array); System.out.print("정렬후 "+Arrays.toString(array)); } } 느낀점 자바에서 배열을 오름차순 정렬할때는 Arrays.sort() 함수를..

    Java 자바의 배열 정렬(Sorting)

    Java 자바의 배열 정렬(Sorting)

    배열 정렬 int 배열 정렬 - 오름차순 , 내림차순 Array.sort()에 인자로 배열을 전달하여 주면 인자로 전달된 배열이 오름차순으로 정렬해준다. sort() 함수 내부에서 변수 arr의 순서를 변경해주기 때문에 따로 arr을 할당해 줄 필요도 없다 import java.util.Arrays; class Main { public static void main(String[] args) { int array[] = {88, 50, 38, 100, 90, 100, 99, 65}; System.out.println("정렬전 "+Arrays.toString(array)); Arrays.sort(array); System.out.print("정렬후 "+Arrays.toString(array)); } } 여..

    랜덤숫자 생성후 최댓값 최솟값 출력

    랜덤숫자 생성후 최댓값 최솟값 출력

    문제 입출력 문제 풀이 자바 100제에서 알고리즘 카테고리에 기초적인 문제이다. 단순히 배열을 생성하고 그 배열에 랜덤한 숫자를 넣어주고 그 배열에 인덱스 0부터 끝까지 하나씩 비교하여 최솟값과 최댓값을 찾아내면 된다. import java.util.Scanner; import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = new int[10]; for(int i=0; i

    Java 자바의 getter, setter

    Java 자바의 getter, setter

    getter , setter 정의 부모 클래스의 멤버 변수는 private로 선언하는 것이 좋다. 왜그럴까? 캡슐화와 자료보호에 대한 목적으로 해당 클래스의 내부에서만 사용할 수 있도록 하기 위함이다. 하나의 프로젝트를 진행할 때 많은 사람들과 협업을 통해 프로젝트를 수행하므로 해당 자료를 보호 할 수 있도록 private 멤버 변수를 사용하는 것이 좋다. 이러한 부모클래스의 private 멤버 변수에 값을 접근 할때 getter와 setter가 사용된다. 한가지 예시를 들면 이해하기가 쉽다. 코로나로 인해 A군이 병원에 격리 되었다고 할때 A군의 어머니가 A군에게 물건을 전달해주고 싶다고 한다면, A군 어머니는 A군이 입원해있는 병원에 직접 물건을 전달해줄수 없다. 그래서 그 사이에 간호사를 통해 A군..

    Java 자바의 Class

    Java 자바의 Class

    Class Class 란? 클래스는 객체(또는 인스턴스)를 생성하는 하나의 공장(틀, 프레임, 판형)이라고 할 수 있다. 하나의 공장을 class라고 생각한다면 그 공장을 통해 생성하는 것들을 객체(또는 인스턴스)라고 생각할 수 있다. 내가 만들고자 하는 어떠한 것을 클래스로 만들 수 있다. 만들고자하는 객체애 대한 특성과 동작에 대해서 고민하여 클래스를 만들 면 된다. 그래서 우리는 이렇게 정의한다. 객체의 특징 -> 속성(attribute) 객체의 동작 -> 메서드(method) Class가 나온이유는? 클래스 없이도 객체의 특징(속성)들은 변수로 정의할 수 있을 것이고, 동작은 함수로 정의할 수 있다. 하지만 프로그램의 규모가 커지고 여러 사람이 협업을 하는 과정에서 좀 더 쳬계적이고 분업화된 시스..

    Kotlin 코틀린의 Handler 와 Looper

    Kotlin 코틀린의 Handler 와 Looper

    Handler 메인 액티비티는 앱이 실행될 때 하나의 프로세스에서 처리된다 하지만 같은 프로세스 안에서 여러 기능들이 순서대로 실행될 때 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI도 멈춰져 있는 상태로 보이는 문제가 존재합니다. 이러한 문제를 해결하기 위해서 하나의 프로세스 안에서 여러 개의 작업이 수행되는 멀티 스레드 방식이 존재한다. 하지만 여러 스레드들이 동시에 리소스를 접근하려고 할때는 데드락이 발생할 수 있다. 데드락이 발생하면 시스템이 비정상적으로 동작하게 된다. 따라서 네트워크 요청 등과 같은 지연 시간이 길어질 수 있는 작업들은 따로 분리하여 UI에 응답을 보내는 방식을 사용할수 있게 해주는것이 Handler 이다. 안드로이드에서 UI 작업은 별도의 스..

    Java 자바의 String, StringBuffer, StringBuilder

    Java 자바의 String, StringBuffer, StringBuilder

    String, StringBuffer, StringBuilder 자바는 문자열을 다루는 클래스로써 String, StringBuffer, StringBuilder 이렇게 3가지 클래스가 있습니다. 이 3가지 클래스들의 각각의 차이점과 사용이유에 대해서 알아보겠습니다. 1. String, StringBuffer, StringBuilder의 차이점 가장 큰 이유에는 String 은 불변(immutable) 하고 StringBuffer와 StringBuilder는 기변(mutable)하다는 점입니다. 즉 String은 객체가 한번 할당되면 할당된 공간이 변하지 않지만 StringBuffer와 StringBuilder의 경우에는 객체의 공간이 부족해지는 경우 버퍼의 크기를 늘릴수 있습니다. 그렇다면 String..