전체 글
-
[Java] char배열과 String 클래스의 차이는?Language/Java 2020. 3. 31. 15:08
지금까지 여러 문자, 즉 문자열을 저장할 때 String타입의 변수를 사용했다. 사실 문자열이라는 용어는 '문자를 연이어 늘어놓은 것'을 의미하므로 문자배열인 char배열과 같은 뜻이다. 자바에서는 char배열이 아닌 String클래스를 이용해서 문자열을 처리하는 이유는 무엇일까? String클래스는 char배열에 기능(메서드)을 추가한 것이다. char배열과 String클래스의 한 가지 중요한 차이가 있는데, String객체(문자열)는 읽을수만 있을 뿐 내용을 변경할 수 없다는 것이다. 1 2 3 4 5 6 7 public class Test { public static void main(String[] args) { String str = "Java"; str = str + "8"; System.ou..
-
[Java] Java는 Call by Value 일까? Call by Reference 일까?Language/Java 2020. 3. 17. 15:32
https://devlog-wjdrbs96.tistory.com/44?category=830071 [JAVA]Call by Value 와 Call by reference 란 ? C언어를 주로 공부 했던 나는 Call by value 와 Call by reference 에 대해서 call by value 는 값을 넘기는 거고 call by reference 는 포인터를 이용해서 주소를 넘긴다고 알고 있다. 하지만 누군가 나에게 이.. devlog-wjdrbs96.tistory.com Call by Value와 Call by Reference에 대해서는 위에서 참고하길 바란다. 현재 운영하는 블로그는 스스로 공부한 것을 나중에 다시 찾아보기 쉽게 정리하는 공간입니다. 1. Java는 Call by Value..
-
[Java] try with resources란?Language/Java 2020. 2. 27. 22:40
자바를 이용해 외부 자원에 접근하는 경우 주의해야할 점은 외부자원을 사용한 뒤 반납을 해줘야 한다는 점이다. 1. 자원 반납과 finally 1-1) 자원반납 문제 1 2 3 4 변수1 = new 자원객체1(); // 자원 할당 변수1.작업(); 변수1.close(); // 자원 반납 위 코드에서 작업() 메소드가 에러없이 실행된 경우라면 close() 메소드가 정상적으로 작동해서 자원을 반납한다. 하지만 작업() 메소드에서 에러가 발생한다면 close( 메소드가 실행되지 않아서 자원이 반납하지 못하는 문제가 생긴다. 1-2) finally 블럭에서 자원 반납 1 2 3 4 5 6 7 8 9 10 11 12 13 변수1 = null; 변수2 = null; try { 변수1 = new 자원객체1(); 변수..
-
시간복잡도 (Time Complexity)란?Computer Science/Data_Structure 2020. 2. 18. 22:35
1. 알고리즘 복잡도 계산 항목 시간 복잡도: 알고리즘 실행 속도 공간 복잡도: 알고리즘이 사용하는 메모리 사이즈 2. 알고리즘 성능 표기법 Big O (빅-오) 표기법: O(N) 알고리즘 최악의 실행 시간을 표기 가장 많이/일반적으로 사용함 아무리 최악의 상황이라도, 이정도의 성능은 보장한다는 의미이다. 3. 시간복잡도 가장 널리 사용되는 알고리즘의 수행시간 기준 더보기 알고리즘이 실행되는 동안 수행하는 기본적인 연산의 수를 입력의 크기에 대한 함수로 표현 시간 복잡도가 높다는 것은 입력의 크기가 증가할 때 알고리즘의 수행 시간이 증가한다는 의미이다. 하지만 시간 복잡도가 낮다고 해서 언제나 더 빠르게 동작하는 것은 아니다. 입력의 크기가 작을 때는 시간 복잡도가 높은 알고리즘이 더 빠르게 동작할 수도..