본문 바로가기

Language/JAVA

‘==’ vs equals() vs hashcode() Java 프로그래밍에서 값이 같은지 비교하려면 어떻게 해야할까요? 숫자나 불리언 타입의 경우에는 ‘==’로 비교하면 되요! 그럼 값이 같은지 확인해주거든요. 그런데 문자열이나 날짜, 파일, 그 외의 객체(Object)를 비교할 때도 ‘==’을 사용하면 될까요? 이런 객체에서 ‘==’을 사용하게 되면 ‘False’가 나올거에요. 왜 그럴까요? 먼저 ‘== ‘ 비교에 대해 알아볼게요. ‘==’은 값을 비교해줘요. 그런데 앞에서 말 했듯이 객체(Object)의 값을 비교할 때에는 false가 나오기도 하죠. 그 이유는 int, byte, short, long, float, double, boolean, char 등 Primitive Type의 변수에 대해서는 저장된 값을 비교하게 되지만 String을 포함한 .. 더보기
[JAVA] UUID 프로젝트를 하다보면 UUID라는 값을 많이 보게 되더라고요. 처음에는 뭐를 의미하는지는 모르겠지만 어떤 ID값인가보다 생각했는데 이번에 UUID에 대해 작성하면서 제대로 공부해볼게요. UUID라는게 뭘까요? 먼저 UUID는 Universal Unique Identifier의 줄임말이에요. 한국말로 하면 범용 고유 식별자 라고 하네요. UUID는 네트워크 상의 개체들을 구분하기 위해 국제 표준(RFC 4122)으로 채택되어 사용하고 있는데요. Java에서는 JDK 1.5부터 지원하고 있어요. 이 UUID를 이용하면 객체를 구분할 수 있는 거의 고유한 값을 생성해준다고 해요. 여기서 거의 고유하다고 말한 이유는 UUID를 생성하다 보면 아주 희박한 확률로 중복된 값이 나올 수도 있기 때문이에요. 저는 여기서.. 더보기
Scanner vs BufferedReader Java에서 표준 입력을 통해 입력을 받는 방법은 뭐가 있을까요? 대표적으로 JDK 1.5에서 제공하는 Scanner 클래스를 이용하는 방법과 JDK 1.1부터 제공하고 있었던 BufferedReader 클래스를 이용하는 방법이 있어요. 물론 그 외의 다양한 방법이 있겠지만 키보드를 통해 입력받는 두 클래스에 대해서 먼저 비교해보도록 할게요. Scanner와 BufferedReader는 어떤 차이가 있을까요? 먼저 입력을 받을 수 있는 자료형의 종류가 달라요. Scanner는 문자(char), 문자열(String), 숫자(int, float, double, ...), 논리형(boolean)등 다양한 형태의 입력을 받을 수 있지만, BufferedReader는 문자열(String)만 입력받을 수 있어요. .. 더보기
0. JAVA란? # Java 유래 1991년 제임스 고슬링(James Gosling)과 Sun Microsystems 연구팀에 의해 만들어진 Programming 언어. 가정용 전자제품에 사용하기 위한 언어로 개발 CPU에 의존하지 않도록 가상 기계(Virtual Machine) 개념 도입 웹 프로그램 개발에 많이 사용되고 있는 언어 # Java Platform 프로그램이 실행되는 하드웨어나 소프트웨어 환경 자바 가상 기계(JVM, Java Virtual Machine)과 응용 프로그래밍 인터페이스(API, Application Programming Interface)로 구성 # Java 특징 Simple Object Oriented High Performance : JIT(Just-in-time) Compiler 개념.. 더보기