공부 이야기/JAVA
-
private/public, static, final공부 이야기/JAVA 2024. 1. 22. 14:23
1. private : 선언한 클래스 내부에서만 사용할 수 있도록 접근을 제어 2. public : 선언한 클래스 외부에서도 사용할 수 있도록 개방 3. static : 변수 혹은 객체에 대해 한 번만 생성할 수 있도록 함 4. final : final로 선언된 변수, 객체에 대해서 값 변경을 할 수 없도록 제어 (Immutable) 동일한 내용에 대해 빈번하게 참조되는 객체가 있다고 가정했을 때 참조할 때마다 객체를 생성하는 것은 비효율적일 수도 있고 더 나아가서 성능을 떨어트릴 수도 있다. 이 때 static 키워드를 사용하면 단 한 번의 인스턴스 생성이 이뤄지며 구조적 비효율을 개선하고 성능을 최적화할 수 있다. 하지만 싱글톤 패턴을 사용했을 때 발생할 수 있는 Thread-safety 문제가 존재..
-
equals() 메소드 내부 동작공부 이야기/JAVA 2021. 9. 5. 21:02
equals() 메소드는 왜 상수시간을 가질까? 답은, if( a == b )에서 알 수 있다. equals() 메소드는 Object 객체든 String 객체든 Integer 객체든 맨 처음으로 하는 과정이 있다. 바로 == 키워드를 이용해서 두 객체의 주소 값이 동일한지를 확인한다. 그 다음 Integer 객체인 경우 intValue() 메소드를 이용해서 값이 같은지를 비교하고 String 객체의 경우 문자열의 문자가 모두 일치하는지를 비교한다.
-
JAVA 8 - 람다식공부 이야기/JAVA 2020. 11. 8. 13:38
때는 4학년. JAVA를 이용한 코딩테스트를 준비하면서 람다식을 사용하며 문제를 푸는 고인물들을 본 적이 있다. for, while 문을 써대면서 배열에 값을 무식하게 집어넣고 있는 방법을 단 한 줄로 리턴시키는 모습에 경악을 금치 못했었다. 람다식은 JAVA 뿐만이 아니라 Kotlin, C++에서도 사용되는 개념이다. Microsoft Docs에서는 람다식을 1) 람다(식)은 람다식이 호출되거나 함수에 인수로 전달 되는 위치에서 무명 함수 개체를 정의하는 편리한 방법입니다. 2) 일반적으로 람다는 알고리즘이나 비동기 메서드에 전달되는 몇 줄의 코드를 캡슐화하는 데 사용됩니다. 라고 정의하고 있다. docs.microsoft.com/ko-kr/cpp/cpp/lambda-expressions-in-cpp?..