2021-01-24 간혹 문자열에 불필요한 공백이 들어가는 경우가 있는데 이와 같은 경우는 어떻게 처리할까? 물론 변수에 다시 데이터를 입력해주는 방법도 있겠지만, 문자열 데이터가 긴 경우에는 해당 작업이 귀찮아질 수가 있다. 이를 위해서 String에서는 trim이라는 메서드를 제공하는데, 이와 같은 메서드를 사용하는 방법을 알아보자. package String_trim; public class main { public static void main(String[] args) { //문자열의 불필요한 공백을 제거하는 메서드를 알아보자. String a = " Hi Hi Hi!"; String b = "Hi Hi Hi! "; String c = " 안녕하세요 ~! "; // 각 변수별 a는 앞에 불필요한..
2020-11-29 문제 창영 마을의 우체부, 우유배달원, 신문배달원은 상근이네 집에 가는 것을 매우 싫어한다. 그 이유는 상근이네 집에는 사나운 개 두 마리가 지키고 있기 때문이다. 하지만, 그들은 이 개의 행동이 예측 가능하다는 것을 모르고 있다. 매일 아침, 개 한마리는 A분동안 공격적이고, B분동안 조용히 쉬고 있다. 또다른 개는 C분동안 공격적이고, D분동안 조용히 쉰다. 두 개는 이 행동을 계속해서 연속적으로 반복한다. 우체부, 신문배달원, 우유배달원의 도착 시간이 주어졌을 때, 개 몇 마리에게 공격을 받는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C, D가 주어진다. 둘째 줄에는 P, M, N가 주어진다. P는 우체부의 도착 시간, M은 우유배달원의 도착 시간, N은 신문..
2020-11-24 오늘은 자바라는 언어의 가장 큰 특징 객체지향 중 Getter/Setter에 대하여 알아보도록 하겠다. 우선 해당 메서드를 사용하는 이유는 필드 값에 부적절한 값이 대입되는 것을 막기 위해서이다. (물론 각 객체들의 캡슐이 깨지지 않게 하기 위함도 있다.) 글로만 봐서는 이해가 어려울 수 있으니 바로 코드를 통한 예제를 보면서 이해해 보도록 하자. 예를 들어 한 명의 게임 캐릭터가 있다. 해당 캐릭터의 힘 / 민첩 / 지능을 스탯을 배분해야 하며, 스탯은 0부터 시작하기 때문에 - 값은 들어갈 수 없다고 가정해보자. 이러한 경우 실수로 - 값을 대입할 경우, 차후 캐릭터에 문제가 생겨 버그가 발생할 수 있다. 때문에 스텟(필드)은 private로 직접적인 접근을 할 수 없도록 막고, ..
2020-11-21 final 이름에서도 느껴지듯이 자바에서 final이 선언된 값은 프로그램 실행 도중 변경을 할 수 없다. 때문에 초기화 준 값에서 바뀌지 않는다는 것인데, 초기화 방법을 알아보자. public class tFinal { final String name = "홍길동"; //필드에서 초기화 하는 방법 final String bloodType; public tFinal(String bloodType) { this.bloodType = bloodType; } //생성자에서 초기화 하는 방법 } 위의 코드에서 볼 수 있듯이 final 을 초기화하는 방법은 필드와 생성자를 통해서만 초기화할 수 있다. 단순한 값이라면 필드에서 선언하는 것이 좋으며, 외부에서 입력받아야만 하는 값이라면, 생성자를..
2020-11-19 다수의 Overloading을 하다 보면 반복적인 this 코드를 사용하게 되는데, 이러한 불필요한 반복을 줄이는 방법을 알아보자. (예제는 전에 오버 로딩 글에서 사용하던 걸 사용하도록 하겠다.) 오버 로딩 글 링크 : seeminglyjs.tistory.com/167 public class Overloading { String name; String sex; int age; public Overloading() { } public Overloading(String name) { this.name = name; } //이름 매개변수를 받는 생성자 public Overloading(String name, String sex) { this.name = name; this.sex = se..
2020-11-05 싱글톤(Singleton)이란 전체 프로그램 내에서 하나의 객체만을 만드는 것을 이야기한다. 이는 싱글톤을 선언한 class 이외에 다른 곳에서 new를 이용한 새로운 생성자를 만드는 것을 제한하는 의미라고도 볼 수 있다. 싱글톤을 코드화 하기 위해서는 객체 앞에 private를 붙여 주어 선언된 class에서만 생성 가능하게 만들어 주면 된다. 구체적으로 코드로는 어떻게 선언되는지 알아보자. public class singleton { private static singleton st = new singleton(); private singleton() {} static singleton getSt() { return st; } } 위에는 싱글톤 객체를 생성하는 클래스이며, 아래는 ..