본문 바로가기

Language

(28)
Call by value in Java Call by Value란? 문자 그대로 값을 호출 합니다. 즉 전달 받은 값을 복사하여서 사용하기에, 원본은 변경되지 않습니다. Call by Reference란? 참조에 의한 호출 입니다. 즉 전달 받은 값을 직접 참조하기에, 원본 역시 변경이 됩니다. Java에는 해당 호출 방식을 안 쓰지만, 원본이 변경되는 경우가 있어서(array, 객체) 오해의 여지가 있습니다. 예시로 살펴보겠습니다. 클래스를 만들고, 메서드 실행 시 매개변수로 원본을 변경하는 일이 발생합니다. 하지만 run메서드에 매개변수로 넘길 때, 주소 값을 복사해서 넘겼습니다. 그리고 복사된 주소값으로 참조가 가능해져, 주소 값이 가르키는 객체가 변경됩니다. a1, a2를 생성해주고, 메서드를 돌려 인자로 넣어줄 때 arg1, arg2..
Call by assingment in Python and global & nonlocal Call By Assignment Python 의 특징 ( Call By Object Reference 라고도 불린다.) immutable 자료형에는 Call By Value 와 같은 결과(int, string, tuple...) mutable 자료형에는 Call By Reference 와 같은 결과(list, dict...) Call By Value 변수를 선언하면, 그 변수에 특정 메모리를 할당 후 값을 입력 Stack Frame 내부의 변수와 외부의 변수는 메모리 주소가 다르기 때문에 간섭불가능 Call by value 예제 n = 10 def test(): n = 20 return test() print(n) # 결과: 10 global variable n = 10 선언 후, 함수 내에서 n을 다..
Python GIL(Global Interpreter Lock) about Global Interpreter Lock in python. korean version what is the GIL? Global Interpreter Lock is a mutex that allows only one thread to hold the control of the python interpreter how does python works? interpreter is loaded in memory python code is run through interpreter python's memory management python object's creation and destruction is managed through reference count refcount is attribu..
N Notation For Python(파이썬 에서의 진법 변환) about binary, decimal, octal and hex conversion for Python(파이썬으로 2진법 8진법 10진법 16진법 변환) Notation binary and decimal conversion binary → decimal : The multiplier of 2 increases by one $1010101(2) -> 2^6 + 2^4 + 2^2 + 2^0 = 64 + 16 + 4 +1 = 85$ decimal → binary : Divide by 2 each time 85 = (42)2 + 1 = 85 = (21)2 + 0 = 42 = (10)2 + 1 = 21 = (5)2 + 0 = 10 = (2)2 + 1 =5 =(1)2 + 0 = 2 =(0)*2 + 1 = 1 → ..