오버로딩 2

기술 면접 스터디 - 8회차 ( 시간 복잡도와 공간복잡도, 오버라이딩, 오버로딩)

목차 1. 시간복잡도와 공간복잡도란? 중요성까지 2. 오버라이딩과 오버로딩의 차이점 1. 시간복잡도와 공간복잡도란? 중요성까지 복잡도라는 개념은 성능에 대한 평가의 척도입니다. 그래서 시간 복잡도 같은 경우엔 말 그대로 얼마나 수행하는지, 즉 시간의 관점에서 표기하는 방법이고, 공간 복잡도는 얼마나 메모리 공간을 사용하는지 즉 물리적인 관점에서 보는 방법입니다. 1. 시간 복잡도( Time Complexity ) 시간복잡도는 실행 환경에 따라 다르게 측정되기에 연산의 실행 횟수로 수행 시간을 평가합니다. 시간복잡도는 3가지 case로 나타냅니다 1. 최선의 경우 (Best Case) 최선의 경우엔 빅 오메가 표기법을 사용하고, 최선의 시나리오를 의미합니다. ( 가장 좋은 케이스 ) 2. 최악의 경우 (W..

오버로딩(overloading)

자바에서는 메서드도 변수와 마찬가지로 같은 클래스 내에 서로 구분이 가능해야한다. (그럼 계속해서 이름을 다르게 사용해야하나?) 정답은 그렇지 않다. 같은 이름이라도 매개변수의 개수, 타입이 다르면 같은 이름을 사용해 메서드를 정의할 수 있다. 이렇게, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '오버로딩'이라고 한다(중복 메서드) 보면 한 클래스 내에 같은 이름으로 3개의 getInfo가 정의된 것을 볼 수 있는데, 각자 변수의 개수 및 타입이 다르다. 이렇게 오버로딩의 조건은 크게 2가지이다 1. 메서드의 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 그럼 오버로딩의 장점은 무엇일까? 생각을 해보자. 오버로딩? 우선 효율적일 것이다. 굳이 여러 개의 메서드를 ..

Language/Java 2022.01.20