본문 바로가기
Programming Languages/Python

[파이썬 코딩 테스트] Private Methods

by Henry Cho 2026. 3. 11.

포스트 난이도: HOO_Junior


# Private Methods

이전 포스트에서 캡슐화에 대해서 살펴봤고 Private 매개변수에 대해서 사용하는 방법에 대해서도 알아보았다. 이번 포스트에서는 캡슐화에서 Private mehtods를 사용하는 방법에 대해서 살펴보도록 하자.

 

캡슐화 안 기능들에 해당하는 private methods는 코딩 테스트에서 단일 문제로 나올 경우는 흔치 않다. 다만 private methods을 써야지 가산점을 받을 수 있는 요소에 해당될 가능성이 높다. 그 이유인즉슨, priavte methods을 포함해서 parameters까지 굳이 사용하지 않고도 문제에서 요청하는 내용을 구성하고 산출하는 게 가능하기 때문이다. 결과 위주의 평가만이 가능하다 보니, 실질적으로 private을 써야지 유지관리 측면에서 좋거나 굳이 public을 사용하지 않아야 예외로 발생하는 에러를 줄일 수 있는 문제까지도 평가하기가 어렵다. 그래서 솔직히 General coding test에서 꼭 알아야 하냐라고 물어본다면 아니라고 본다. 다만 심사위원이 이후에 코드를 직접 본다거나 general coding test 이후의 기술 면접을 볼때 티가 나기 때문에 알아두고 있는 것을 추천한다.

 

요약하자면, 당장 general coding test가 코앞이다! 그러면 솔직히 무시해도 된다. 다만 장기적인 관점에서 private 쓰는 습관을 들여둔다면 특히 AI를 주니어 개발자로 두는 이 시점에서 도움이 된다.


class SmartCamera:
    def __init__(self, resolution="1080p"):
        # Initializing the private resolution field
        self.__resolution = resolution

    # Private method to adjust focus
    # Note: I fixed the typo 'adujust' and corrected '__self' to 'self'
    def __adjust_focus(self):
        print("Adjusting focus... locked.")

    def take_photo(self):
        # Call the private focus method before taking the photo
        self.__adjust_focus()
        print(f"Taking a photo with {self.__resolution} resolution.")

# Usage
camera = SmartCamera("4K")
camera.take_photo()

위의 예제코드를 보면 SmartCamera라는 클래스가 선언되어 있고 안의 세개의 Methods가 존재하는 걸 확인할 수 있다. 파이썬에서 Private methods는 parameter, 즉 Private 매개변수를 선언할 때와 크게 차이가 없다. def __adjust_focus(self)처럼 Private methods로 선언하려는 Methods 앞에 __를 붙여주면 된다.

 

추가로 Private parameter 선언하는걸 복습해 보자면 self.__resolution = resolution와 같이 __를 붙여줘서 선언해 주면 된다.


 

 

728x90

댓글