목록programing-languages/Python (3)
yeonuel-tech

안녕하세요 요번 데브 캠프 파이썬 수업 중에 원장님께서 또 재미있는 질문거리를 던져주셨습니다 “파이썬에 OrderedDict(자바의 LinkedHashMap)은 순서가 보장되는데 내부적으로 어떻게 구현되었을까?”이를 풀어나가기 전에 우리는 큰 틀에서 자료구조를 파악하는 것이 중요합니다자료구조는 큰틀에서 보면 3가지로 구분할 수 있습니다 List - 순서 o 중복 o Set - 순서 x 중복 xMap - 순서 x 중복 x(키 값 중복 안됨 값은 중복 허용) Map 에서는 어째서 순서가 유지되지 않을까요? 바로 해시함수를 통해서 해시 테이블에 특정 위치를 할당하기 때문입니다. 간단한 예시로 해시함수를 다음과 같이 정의하겠습니다(해시 테이블의 크기는 4로 가정)h(k) = k % 4그리고 다음 리스트에 저장된..

파이썬은 동적 언어이다. 즉, 컴파일이 없고 인터프리터가 존재하는 언어이다.해당 언어의 가장 큰 장점은 유연함이다. 런타임 시점에 타입을 변경하거나 메서드를 추가하는 작업을 할 수 있다. 오버로딩이란? "같은 이름의 메서드를 여러개 정의하는 것"오버로딩의 조건으로는 크게 3가지가 있다.- (1) 메서드 이름이 같아야함- (2) 매개변수의 개수 및 타입이 달라야함- (3) 반환 타입이 같아야함 오버라이딩이란? "조상에서의 메서드를 자손에서 재정의하는 것"오버라이딩의 조건으로는 크게 3가지가 있다.- (1) 메서드의 선언부가 일치해야함- (2) 자손에서 조상 보다 접근 제한자가 좁으면 안됨- (3) 자손에서 조상보다 더 큰 범위의 예외를 선언할 수 없음 본론으로 들어가서 오버로딩은 가능할까? 불가능하다.생..