본문 바로가기
728x90

자바3

Call by Value 와 Call by reference 차이는 무엇일까요?? 함수 호출 방법은 크게 두 가지가 있다. Call by value(값에 의한 호출)은 인자로 받은 값을 복사하여 처리를 한다. 장점 : 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존이 된다. 단점 : 복사를 하기 때문에 메모리가 사용량이 늘어난다. Call by reference(참조에 의한 호출)은 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다. 장점 : 복사하지 않고 직접 참조를 하기에 빠르다. 단점 : 직접 참조를 하기에 원래 값이 영향을 받는다. 자바 에서는 기본적인 매개변수는 Call by Value 이지만, 예외적으로 배열 과 클래스는 참조 변수로 Call by reference로 작동한다. https://blog.kakaocdn.net/dn/4aMO7/btrCye8rY71/.. 2023. 1. 26.
자바 [JAVA] - 삽입 정렬(Insertion Sort) Insertion Sort [삽입 정렬] 삽입 정렬은 현재 비교하고자 하는 target(타겟)과 그 이전의 원소들과 비교하며 자리를 교환(swap)하는 정렬 방법이다. 말로만 설명하기에는 어려울 수 있으나 그림으로 보면 이해하기 쉬우니 일단 삽입 정렬에 대한 특징만 짚고 넘어가보자. 삽입 정렬은 데이터를 '비교'하면서 찾기 때문에 '비교 정렬'이며 정렬의 대상이 되는 데이터 외에 추가적인 공간을 필요로 하지 않기 때문에 '제자리 정렬(in-place sort)'이기도 하다. 정확히는 데이터를 서로 교환하는 과정(swap)에서 임시 변수를 필요로 하나, 이는 충분히 무시할 만큼 적은 양이기 때문에 제자리 정렬로 보는 것이다. 이는 선택정렬과도 같은 부분이다. 정렬 방법 삽입 정렬의 경우 원리 자체는 간단하.. 2023. 1. 23.
팩토리 패턴 팩토리 패턴 팩토리 패턴(factory pattern)은 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정, 하위클래스에서 객체 생성에 관한 구체적인 내용을 결정 하는 패턴을 말한다. 상위 클래스 와 하위 클래스는 분리 되기 때문에 **느슨한 결합**을 가지며 상위클래스에서는 인스턴스 생성 방식에 대해 전혀 알 필요가 없어, 더 많은 유연성을 가진다. 또한, 객체 생성 로직이 따로 떼어져 있기 때문에 코드를 리팩토링 하더라도 한 곳만 고 칠수 있게 되니 유지 보수성이 증가한다. ex) 라떼 레시피, 아메리카노 레시피, 우유 레시피 라는 구체적인 내용이 들어 있는 하위 클래스가 컨베이어 벨트를 통해 전달되고, 상위 클래스인.. 2023. 1. 20.
728x90