Java 10

[삽잡이::java] 공백따위 없애버려! trim()

코드를 구현하는 도중 문자열을 받아와서각각의 Case에 맞게 처리를 해야할 일이 있었습니다. Java 7 이상부터는 String 타입도 Switch문에서 사용이 가능하기에 사용했는데,이상하게도 원하는 Case로 접근이 불가능한 문제가 발생하였습니다. String 타입의 '삽잡이' 라는 문자열을 받아왔다고 가정해보겠습니다. 1234567891011switch( str ) { case "삽잡이": break; case "shovelMan": //... break; default: //... break;} 하지만, 정작 switch문은 default로 향하는 것 아니겠습니까...답답했습니다.혹시나해서 Java 버전까지 확인해봤습니다. 로그를 찍는데도'삽잡이 '가 정확히 나오는데...왜.. 왜...!!! 그런데..

[삽잡이::java] switch문은 정수뿐만 아니라 문자열도 올 수 있다.

한동안 더위와 그 외 여러 상황들로 방황을 하다가오랜만에 포스팅을 하게됬습니다...반성해라 삽잡이~~ 핑계일 뿐이야~~ 아무튼... 좀 지난 이야기이지만, Java7 이후로는 switch 문을 사용할 때'문자열'을 사용할 수 있게 되었습니다.1234567891011switch( str ) { case "삽잡이": //... break; case "shovelMan": //... break; default: //... break;}cs이처럼 String Type이 switch문의 괄호 항목 즉, Expression 에 들어올 수 있게 된 것입니다. 기존에 String형을 Switch문을 사용할 수 없었기 때문에if - else if - else 을 사용했었는데요,이제 깔끔하게 Switch문을 사용할 수 있..

[삽잡이::java] 나만의 스타일로! 오버라이딩(Overriding)

이리 저리, 요리 조리복잡한 생각들과 어떻게 해결할까 하는 고민들로머리가 뽀글뽀글해지기 시작하면...모든 사람들이 다들 그러실지는 모르겠으나삽잡이는 판단력이 흐려지는 듯합니다. 하하... 그래서 그런지 정신없이 코딩을 하다보면,중복되는 코드들이 너무도 많이 속출되고,내가 정녕 객체지향적인 코드를 작성하고 있나 싶을정도로스파게티 코드들을 만들고 있더군요... 그래서, 멀어져가는 정신을 끄댕겨잡고(?) 머리도 식히고 정리할겸! 오버라이딩에 대해서생각해보는 시간을 가지고자합니다. 부모로부터 불려받은 메서드를나만의 스타일로 재정의하는 작업을오버라이딩이라고 부릅니다. 예전에 면접보러가서 오버로딩과 오버라이딩에 대해서 바꿔서 말했던 추억이 생각나군요...하하하... 아무튼... 오버라이딩을 사용하는 이유는 뭘까요?..

[삽잡이::java]시스템 환경 정보들을 알려준다! System.getProperty( )

Property라는 의미 자체는 부동산, 재산, 소유등을 의미합니다. 프로그래밍 세계에서도 시스템 환경에 대한 재산, 소유와 같은 정보들을 알려달라고 요청할 수 있습니다. java 언어에는 System이라는 클래스가 있는데요,해당 클래스 안에는 getProperty( )라는 메서드가 존재합니다.해당 메서드를 통해서 정보를 알아낼 수 있다 이겁니다. (출처_ Java Document) 조금 더 자세하게 말씀드리자면,System 개체가 현재 작업 환경에 구성들을 설명할 수 있는 속성들을 가지고 있다는 것으로 이해하시면...더 이해하기... 쉬우실 수도.... 하하하.... 아무튼...getPropery() 메서드의 괄호 안에 값을 넣게 되면그에 맞는 값을 string형으로 반환해줍니다. 그렇다면~괄호 안에 ..

[삽잡이::java] 자식이 생성될 때 부모의 생성자를 부른다.

참으로 훈훈한 부자지간(?)이군요!아버지가 자식에게 상속을 하는 모습입니다. 재산을 상속 받다.되물림받다. 세습하다. 계승하다. 등등등... 옛 것(?)으로 부터 이어서 받아오는 그 무언가! 자... 여러분은 어떻게 태어나셨습니까?!부모님에 의해 태어났죠? 이와 같은 아름다운 일들이프로그래밍 세계에서도 존재합니다. 부모되는 클래스로부터자식 된 클래스가 만들어질 수 있다 이겁니다. 우리가 부모님께 용돈 받아 쓰고,부모님의 집에 얹혀 살듯이 ...(부모님께 효도하세요) 자식된 클래스는 부모 클래스의 것들을 가져다 사용할 수 있습니다. 그런데, 이 자식된 클래스가 객체로 태어나게 될 때 반드시 부모를 호출하게 됩니다. 엄밀히 말하자면,자식 클래스가 생성될 때 부모 클래스의 생성자를 호출하게 되는 것입니다. (..

[삽잡이::java] Java코드로 날짜를 랜덤하게 생성해보자!

지난 시간에 이어 이번에는 날짜를 랜덤하게 가져오는 장난질을 해보려고합니다. 날짜를 랜덤으로 생성하고자삽질의 대가 무식한 삽잡이는 이와 같은 구상을 하였습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152public class RandomGame { private int iUserBirthMonth; private int iUserBirthDay; public int getUserBirthMonth() { return this.iUserBirthMonth; } public int getUserBirthDay() { return this.iUserBirthDay; } public ..

[삽잡이::java] 이름을 랜덤하게 생성해보자! 유니코드 랜덤 생성!

살면서 Random() 메서드를 사용하여 재미난 일들을 할 수 있습니다. 여러분이 만약... Random한 이름을 반복적으로 생성해야한다면 어떻게 해야할까? 중복성을 피한 이름...그 이름이 어느 이름이던 상관없이 오직 세글자!? 유니코드를 통해 만들 수 있는 한글은 이론적으로 160만 자 정도 나온다고 하는데, 현대 한글 낱자로 조합 가능한 글자 수는 ...놀라지 마십쇼... 무려 11172자라고 한다 우와!! [출처_ 나무위키(링크를 통해 확인하셔도 됩니다)] 아무튼....123456789101112131415161718192021public class RandomGame { private String sUserName; public String getSUserName() { return this.s..

[삽잡이::java] 지금은 몇일 몇시야? 여러가지로 쓸모있는 currentTimeMillis()

현재 시각은 어떻게 됩니까?1/1000 초의 값을 return 해주는 어마무시한 method를 혹시 아시나요? (출처_ 구글 ㅎㄷㄷ) 죄송하게 됬습니다.... System 클래스에 있는 이 메서드는 '현재 시각과 1970년 1월 1일 오전 0시' 와의 차이를 long 값으로 전달해줍니다. 이외에도 Data 클래스, Calendar 클래스에 있는 메서드들을 사용하기도합니다. 초로 나누기 위해서는 1000으로 나눠주면 되겠고,분으로 나누기 위해서는 (1000 * 60),시간으로 나누기 위해서는 (1000 * 60 * 60)을 해주면 되겠지요. 12345678910public static void main(String[] args) { private long lCurrentTime = System.curren..

[삽잡이::java]설치하자 JDK, 설정하자 환경설정

안녕하세요 삽잡이입니다. 오랜만에 찾아뵙는것 같네요.사실은 열심히 블로그에 글을 쓰긴 했지만... 굳이 공개할만한 글들은 아니어서... 하하... 이번 시간에는 JDK 설치 및 자바 환경 설정에 대한 글을 포스팅하고자합니다. 본인이 사용하고 있는 컴퓨터가 맛이 가버려서... 다른 컴퓨터를 가져왔는데...개발 환경이 구축되있지 않기에... 이왕 설치하는겸, 혹시나 설치를 하는데 어려움을 겪으실 분들을 위해 겸사겸사 포스팅을 합니다. 안녕하세요~! 낄낄 ㅋㅋ 오랜만의 포스팅이라 신이 나군요...할일이 산더미인데 이런... 아무튼 시작해보겠습니다. 우선, 자바 JDK를 설치할 수 있는 Oracle 사이트에 접속해서 JDK를 설치합니다.귀찮으시다면 바로 아래의 링크를 통해 들어가셔도 됩니다. http://www..

[Surro] :: Java 기초(2)

접근 제어자 public : 누구나 접근 가능하다 protected : 같은 패키지 내에 있거나 상속받은 경우에만 접근 가능하다. package-private : 아무런 접근 제어자를 적어주지 않을 때이며, package-private라고도 불린다. 같은 패키지 내에 있을 때만 접근 가능하다. private : 해당 클래스 내에서만 접근 가능하다. 자바에서 만든 코드를 관리하는 클래스 파일(.class)이 되는 타입의 종류 - 인터페이스와 abstract 클래스, 클래스의 차이 인터페이스 : 어떤 메소드가 존재해야 하는지에 대한 선언만 되어 있다. : 절대로 구현되어 있지 메소드가 있어서는 안 된다. : 인터페이스를 구현하는 클래스에서는 implements를 사용하여 선언한다. public interfa..