목록Java (6)
Hello, Coding
String 클래스는 문자열의 추출, 비교, 찾기, 분리, 변환 등과 같은 다양한 메소드를 가지고 있다. 그러면 자바에서 문자열을 다루는 메소드들은 무엇이 있을까? equals() : 문자열이 같은지 비교 합니다. 왜 ==을 안 쓰는지 아래의 글을 참고하면 됩니다. [ JAVA ] "==" 와 "equals" 의 차이점은 무엇일까? 흔히 프로그래밍 코드에서는 "~~와 같다"를 표현할 때 == 을 사용한다. 하지만 자바에서는 String 타입에서는 == 대신 equals()라는 메소드를 사용해 비교한다. 왜 equals()를 사용할까? 자바에서 String을 codingduram.tistory.com indexOf() : 특정 문자가 시작되는 인덱스 리턴 합니다. length() : 문자열의 길이를 반환 ..
여기서 먼저 알아야 하는건 자바에서는 문자열이 직접 변수에 저장되는 것이 아니다. 문자열은 String 객체로 생성되고 변수는 String 객체를 참조하는 형식으로 처리 되는데 일반적으로 표현할 때에는 String 변수에 저장한다는 표현으로 사용하고 있다. 그러면 자바에서 String은 기본 데이터 타입인가? 결론부터 말하자면 자바에서 String은 클래스 타입으로 처리 된다. String 은 클래스 타입으로, 참조 타입이기 때문에 기본 타입과는 달리 힙 영역에 생성된다. 그래서 문자열을 비교할 때는 ==을 쓰는 것이 아닌 equals()를 써야 한다. 자세한 설명은 아래에 정리해둔 게시글을 읽으면 된다. 2023.05.26 - [개발 질문 & 답변/자바 질의응답] - [ JAVA ] "==" 와 "eq..

final의 사전적 의미로는 "마지막의" "최종"등의 의미를 지니고 있다. 그러면 자바에서의 final은 왜 쓰이는 걸까? 자바에서의 final은 값의 불변성을 확보 한다. 그게 무슨 뜻이냐면 만약 변수를 선언 할 때 앞에 final을 붙이고 값을 초기화 하면 그 초기화된 값은 절대로 변경 할 수 없다. 아래의 사진을 참고 이것은 final을 변수에 썼을 때 확인할 수 있다. final은 변수 말고도 final arguments와 final 클래스 그리고 final 메소드가 있다. 각각 아래와 같이 사용된다. - final variables, arguments : 값이 변경되지 않도록 합니다. - final class : 클래스를 상속하지 못하도록 합니다. - final method : 메소드가 오버라이..

이것에 대해 먼저 다루기 전에 Equals()가 무엇인지 알 필요가 있다. Equals()는 자바에서 비교할 때 쓰이는 메소드인데 2개의 객체가 동일한지 검사할 때 쓰인다. 그리고 다음으로는 hashCode가 무엇인지 알아야 한다. 자바에서 hashCode는 자료구조를 사용할 때 자료가 저장되는 위치를 결정하기 위해 쓰이게 된다. 그러면 두 객체가 동일한 hashCode를 가지면 Equals()가 참으로 나오게 될까? 결론부터 말하자면 그렇지는 않다. 만약 문자열 "Hello World"의 Hash code가 "12930481" 이라 했을 때 그렇다고 해서 "12930481"이라는 해시 코드를 문자열 "Hello World"만 가질 수 있는건 아니기 때문이다. 다른 문자열도 언제든지 동일한 해쉬코드를 받..

흔히 프로그래밍 코드에서는 "~~와 같다"를 표현할 때 == 을 사용한다. 하지만 자바에서는 String 타입에서는 == 대신 equals()라는 메소드를 사용해 비교한다. 왜 equals()를 사용할까? 자바에서 String을 사용하는데는 두 가지의 방법이 존재 합니다. 1. 리터럴을 이용한 방식 2. new 연산자를 이용한 방식 먼저 == 연산자의 처리 방식을 알아보자 == 는 흔히 주소 값을 비교하여 맞으면 true를 반환한다. 하지만 여기서 자바의 equals() 메소드는 주소 값을 비교하지 않고 비교하고자 하는 두 개의 대상의 값 자체를 비교하게 된다. 여기서 알고가야 하는 것이 있는 데 바로 동등성과 동일성이다. 동등성 : 객체가 주소값이 다르더라도 내용(필드값)이 같다면 같다고 보는 것. e..

자바를 해본 사람은 한 번씩 들어봤을 법한 JDK, JRE가 있다. JDK는 자바 개발 도구의 약자로서 Java Development Kit 의 약자 이다. JRE는 자바 실행 환경의 약자로서 Jva Runtime Environment 의 약자 이다. 그러면 이 둘의 차이점은 무엇일까? JRE는 JVM을 포함한 자바 프로그램 실행에 필요한 라이브러리 파일 등을 포함하고 있으며 JVM의 실행 환경을 구현하는 역할을 하고 있다. JDK는 자바를 사용하기 위해 모든 기능을 갖춘 Java SDK 이다. 물론 JDK에는 JRE도 포함 되어 있다. 말 그대로 JRE는 오로지 자바의 실행만을 위해 있고 만일 자바로 프로그래밍을 하고 싶다면 JRE도 포함돼 있는 JDK를 사용하면 된다. 아래의 사진 처럼 자바는 구성돼..