반응형 Language/Java133 자바 오버라이드, 오버로드 차이 알아보기 Parent 클래스를 Child 클래스가 상속(extends) 받은 뒤 Child 를 c라는 이름으로 객체화해서 c의 call 메소드를 호출하는 코드인데 이 코드를 가지고 오버라이드와 오버로드의 차이를 알아보자 먼저 오버라이드(Override)인데 Child 클래스에도 동일하게 call 메소드를 작성하고 call method를 호출하니 처음 스크린샷처럼 Parent 클래스의 call method가 호출되는 것이 아닌 Child 클래스의 call method가 호출되는데 오버라이드란 부모 클래스에 정의되어 있는 메소드명을 자식 클래스에서 동일하게 작성한 것을 말하는 것이다 여기서 동일한 이름의 메소드 호출 시 부모 메소드가 아닌 자식 메소드가 호출된다 다음은 오버로드(오버로딩)인데 오버로드란 동일한 이름의.. 2019. 10. 10. 자바 Statement PreparedStatement 차이 알아보기 Java에서 Statement와 PreparedStatement중 골라 사용하라 하면 대부분 그냥 PreparedStatement를 사용하라고 할텐데 문제는 왜 PreparedStatement를 써야하냐는 것이다 먼저 Statement는 파라미터( SQL에 ? 들어가는 부분, 매개 변수라고도 함)를 전달해줄 수 없기 때문에 파라미터를 전달해주려면 이런 식으로 사용해줘야 한다 쓰기도 불편하고 쿼리문 수행 시마다 매번 컴파일을 하기 때문에 해당 쿼리문을 여러번 수행하는 경우 효율이 떨어진다 Statement를 사용하는 것이 좋은 경우는 Dynamic Query(Query문에 ?(파라미터)가 들어가는)를 사용하지 않는 Normal SQL Query시 사용하는 것을 권장하는데 SQL 문으로 단 한번만 조회하거나.. 2019. 10. 7. 자바 메소드(Method)란 무엇인가? 면접에서 면접관이 메소드가 뭔가요? 이렇게 물어보는 경우가 있는데 이게 뭐 어렵다고 싶은 사람이 많겠지만 몰라서 검색하는 것 아니겠는가 메소드가 뭔지 개념을 한번 알아보자 메소드 하면 붕어빵과 붕어빵 틀 쿠키와 쿠키틀 학원에서 이렇게 알려주는데 ~와 틀만 생각나지 전혀 도움이 안된다 메소드란 무엇인가? 메소드는 기능이다 뭔가를 받아서 뭔가를 한 뒤에 뭔가를 반환하는 역할로 주로 쓰여지게 되는데 예제는 자바로 한번 알아보자 여기서 메소드를 사용하기 전에 객체화를 해줘야 하는데 객체화를 해야 특정 클래스에 있는 메소드를 사용할 수 있다 예제에서 보이는 내용은 MethodExample이라는 객체를 me 라는 이름으로 새로 정의해서 사용하겠다 이런 말이다 MethodExample 안에 test_method라는 .. 2019. 9. 30. 자바에서 문자열 비교 시 == 가 아닌 equals를 써야하는 이유 자바를 처음 사용하다보면 대부분이 처음에 겪는 상황인데 문자열을 비교할 때 .equals가 아닌 ==를 쓰다가 위기에 처하게 된다 보면 String a와 b가 분명 동일하게 A를 줬음에도 a와 b가 같냐고 물어보면 다르다고 한다 A가 아니라 B라도 썼다는 말인가? 대체 원인을 몰라 삽질을 하다가 물어보면 java에서는 문자열을 비교할 때 ==가 아니라 equals를 쓰라고 하는데 궁금한 것은 왜 ==는 안되고 equals는 되냐는 거다 그리고 이 예제에서는 둘다 A를 주고 A와 B가 같냐? 라고 비교해 보니 같다고 하는데 이건 뭐지? 자바 버그인가? 이제부터 왜 ==가 아니라 equals를 써야하는지 알아보자 System.identityHashCode(변수명); 을 통해 작성한 변수가 실제 메모리 내 어.. 2019. 9. 25. 자바 배열 복사하는 방법 위 스크린샷의 예제를 보면 자바에서 두 가지로 배열 복사가 가능한데 먼저 Arrays.copyOf를 사용하는 방법은 데이터타입[] 복사받을배열명 = Arrays.copyOf(복사할배열, 배열 길이); 이런 식으로 사용하는데 배열 길이는 무조건 0부터 시작해서 길이만큼 복사한다 즉 2를 주면 배열의 0과 1값을 복사한다는 말이다 다음으로는 Arrays.copyOfRange를 사용하는 방법인데 이 방법으로는 배열의 범위를 정해서 가져올 수 있다 데이터타입[] 복사받을배열명 = Arrays.copyOfRagne(복사할배열, 배열 시작, 배열 끝); 을 통해 배열을 원하는 길이만 복사해서 가져올 수 있다 예제에는 1과 3을 줬으니 배열의 2, 3번 인덱스의 값만 복사해서 가져온다는 말이다 실제 이클립스에서 테스.. 2019. 9. 3. 자바 int 값 자리수 구하기 (int)Math.log10(값) + 1; 을 통해 원하는 값의 자리수를 구할 수 있는데 (int)를 해 주는 이유는 log10은 double 타입으로 받기 때문에 (int)없이는 자리수가 이상하게 나와버린다 2019. 9. 2. 이전 1 ··· 19 20 21 22 23 다음 반응형