티스토리 뷰

개발/Today I Learned

TIL 23-04-05

Ikhyeon IT 2023. 4. 5. 14:19

#알고리즘에서 '시간복잡도'와 '공간복잡도'란 무엇인가? 그리고 이것들은 왜 중요한가?

시간 복잡도란 알고리즘에서 함수를 완료하기까지 소요되는 시간을 의미하고 Big O 표기법으로 표시합니다.

공간 복잡도란 알고리즘에서 함수의 길이로 인해 메모리를 차지하는 공간을 의미합니다.

 

이것을 알고 개발하는 것이 같은 기능이라도 더 좋은 성능의 코드를 작성할 수 있다.

 

 

 

#오버로딩과 오버라이딩의 차이점

 

1. 오버로딩은 같은 메서드명을 사용하지만 파라미터값만 다르게 하여 동일한 메서드명을 재활용 할 수 있는 기능이다.

class Dog{

    public void bark(){

        System.out.println("개가 짖다");

    }

 

    //overloading

    public void bark(int count){

    	for(int i=0; i<count; i++)

    		System.out.println("개가 짖다");

    }

}

 

 

2. 오버라이딩은 부모의 메서드를 재정의하는 것을 의미한다.

class Dog{

    public void bark(){

        System.out.println("개가 짖다");

    }

}

class Hound extends Dog{

    public void bark(){

        System.out.println("늑대가 짖다");

    }

}

 

public class OverridingTest{

    public static void main(String [] args){

        Dog dog = new Hound();

        dog.bark();

    }

}

 

 

'개발 > Today I Learned' 카테고리의 다른 글

TIL 23-04-07  (0) 2023.04.07
TIL 23-04-06  (0) 2023.04.06
TIL 23-04-04  (0) 2023.04.04
TIL 23-04-03  (0) 2023.04.04
TIL 23-03-31  (0) 2023.03.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함