2020-11-16 클래스에는 3가지 요소가 존재하는데, 바로 필드 / 생성자 / 메서드 가 있다. 오늘은 이 3가지 중 초기화를 담당하는 생성자의 오버 로딩에 대해서 알아보도록 하겠다. 우선 오버로딩이라는 단어의 뜻에서 유추할 수 있듯이 기존의 기본 생성자를 다양한 방법으로 객체를 생성할 수 있도록 매개변수를 달리하여, 다수의 생성자를 선언하는 것이다. ( 말이 좀 어려울 수 도 있는데, 코드를 보면 쉽게 이해할 수 있다.) public class Overloading { String name; String sex; int age; public Overloading() { } public Overloading(String name) { this.name = name; } //이름 매개변수를 받는 생성자..
2020-11-15 오늘은 너무나도 많이 접하지만 그 의미에 대해서는 잘 모르는 경우가 많은 static에 대하여 알아보자. public class TemplateA { public static void main(String[] args){ } } 우선 정의를 보자면 정적 멤버는 클래스에 고정된 멤버이며, 이는 객체를 생성시키지 않고도 사용할 수 있는 필드와 메서드를 의미한다. 선언하는 방법은 아래 코드와 같다. 우선 필드의 선언 부터 보자. public class tStatic { static String people = "사람"; //사람이라는 근본적인 가치는 변하지 않으며, 공통적인 특징이기 때문에 static을 선언함 String name = "홍길동"; //사람이 개명을 할 수 있기 때문에 st..
2020-11-13 알고리즘 및 배열에 관련된 문제를 처리하다 보면, 각 배열을 정렬을 해야 하는 경우가 생기게 된다. 때문에 오늘은 이 정렬 중 2차원 배열을 정렬하는 방법을 알아보도록 하자. 흔히들 1차원 배열은 Array.sort(배열 이름)라는 메서드를 이용해서 손쉽게 정렬을 할 수 있다. 다만 2차원 배열의 경우에는 여기에 추가적인 조건을 제시하여야 한다. 우선 예제는 아래와 같다. (3행 2열의 배열을 우선적으로 만들어 주었다.) ex)배열: arr (3, 5) (4, 2) (3, 4) 그러면 바로 코드를 살펴보도록 하자 import java.util.Arrays; import java.util.Comparator; 우선 2종류의 import를 실행해야 한다. 정렬을 위한 Arrays와 비교를..
2020-11-05 싱글톤(Singleton)이란 전체 프로그램 내에서 하나의 객체만을 만드는 것을 이야기한다. 이는 싱글톤을 선언한 class 이외에 다른 곳에서 new를 이용한 새로운 생성자를 만드는 것을 제한하는 의미라고도 볼 수 있다. 싱글톤을 코드화 하기 위해서는 객체 앞에 private를 붙여 주어 선언된 class에서만 생성 가능하게 만들어 주면 된다. 구체적으로 코드로는 어떻게 선언되는지 알아보자. public class singleton { private static singleton st = new singleton(); private singleton() {} static singleton getSt() { return st; } } 위에는 싱글톤 객체를 생성하는 클래스이며, 아래는 ..
2020-11-01 단어 뜻에서도 알 수 있듯이 Infinity는 무한대라는 의미를 가지고 있고, NaN은 (Not a Number) 숫자가 아니라는 의미를 가지고 있다. 그러면 우선 어떠한 상황에서 이와 같은 결과가 나오게 되는지 알아보자. public class TemplateA { public static void main(String[] args) { double n = 10; System.out.println(n / 0.0); System.out.println(n % 0.0); } } 실수 값을 0 으로 나눈 몫의 값은 무한히 나누어질 수 있어 Colsole 창에 값이 Infinity 가 출력된 것을 확인할 수 있으며, 0으로 나눈 나머지의 값은 존재하지 않을뿐더러 숫자가 아니기 때문에, NaN..
2020-10-29 자바의 나누기 연산자는 모두가 아는 2 가지가 있으며, 하나는 몫을 저장하는 '/' 연산자 나머지를 저장하는 '%'이다. 이는 굉장히 편리하게 활용되는데, 아주 가끔 불편하게 느껴질때도 있는데, 그때가 바로 소수점까지 구해야 하는 경우이다. 지금 부터 그러한 경우의 해결방법을 알아보도록 하자. (지금부터 모든 예는 우측 예제로 들겠다. ex) 10 / 4 = 2.5) 초기 속성타입을 double를 지정한다면, 쉽게 해결된 문제이지만, int / byte / short과 같은 속성 타입을 초기에 지정했다면, 다소 난감할 수 도 있다. (다만 그렇다고 모든 변수를 double로 설정하지는 말자. 이는 int = 4byte 의 크기 이지만 double 은 8byte의 크기이기 때문에 코드양..