extends vs implements

개발/Java 2021. 10. 18. 08:20

Extends 클래스가 클래스를 상속받을 때, 인터페이스가 인터페이스를 상속받을 때 extends를 사용한다. 정의, 선언은 모두 부모 클래스가 하며, 상속받는 자식 클래스는 오버라이딩 없이 부모 클래스의 메소드와 변수를 사용 가능하다. JAVA는 부모 클래스가 두 개 이상 존재할 수 없다. Implements 클래스가 인터페이스를 상속하면 implements를 사용한다. interface를 여러 개 상속 받을 수 있다. 부모 클래스는 선언만 하며, 자식 클래스에서 정의를 오버라이딩하여 사용한다.

Integer vs Int

개발/Java 2021. 10. 15. 08:20

기본(primitive) 타입: Int null이 안됨 객체여서 내부적으로 빌트인 메소드(연산자)를 쓸 수 있다. 레퍼(Wrapper) 타입: Integer 제네릭스에서 사용할 수 있다. null 처리가 가능하지만, 언박싱(Integer -> Int)을 하지 않으면 연산이 불가능하다.

JAVA String, StringBuffer, StringBuilder 정리

개발/Java 2021. 10. 7. 08:20

자바 string buffer와 string builder => multi thread 지원 차이 String vs StringBuffer/Builder String은 immutable( 불변 )성을 가짐 String Buffer & Builder는 mutable( 가변 )을 가짐 StringBuffer vs String Builder StringBuffer는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전함 StringBuilder는 동기화 미지원으로 단일 쓰레드의 성능은 StringBuffer보다 뛰어남 String : 문자열 연산이 적고, 멀티쓰레드 환경에 적합 StringBuffer : 문자열 연산이 많고, 멀티쓰레드 환경에 적합 StringBuilder : 문자열 연산이 많고, 단일쓰레드 환경..

Java 배열 오름차순 / 내림차순 정리

개발/Java 2021. 9. 27. 08:20

Python으로 코딩테스트를 준비하다 Java로 환승한 이후 메소드들이 머릿속에서 정리가 되지않았다.... ㅠㅠ 이번에 백준 소트인사이드 문제를 풀다가 sort( )를 사용해야하는데 파이썬에서는 다음과 같이 sort( )를 사용하였다. # 오름차순 array.sort() # 내림차순 array.sort(reverse=True) 파이썬은 내림차순으로 정렬할 때 단순히 sort( )에 reverse 옵션을 True로 하여 문제를 해결하였었는데 Java에서는 다음과 같이 sort( )를 사용한다. //오름차순으로 정렬 Arrays.sort(arr); //내림차순으로 정렬 Arrays.sort(arr, Collections.reverseOrder());