본문 바로가기

전체 글

(26)
Call By Value vs Call By Reference Call By Value vs Call By Reference 메소드의 인자 호출 방식에는 Call By Value(값에 의한 호출)와 Casll By Reference(참조에 의한 호출) 두 가지 방식이 있습니다. Call By Value 메소드 호출 시에 사용되는 인자의 메모리에 저장되어 있는 값을 복사하여 보내는 방식입니다. 메소드 인자로 byte, char, short, int, long, float, double, boolean 등 자바 기본 타입(Primitive Type)이 전달되는 경우에는 인자의 값(상수 값)이 복사되어 전달됩니다. 메소드 인자로 객체에 대한 레퍼런스(Reference Type)가 전달되는 경우에는 객체 자체가 복사되어 전달되는 것이 아니라, 그 객체를 가리키는 레퍼런스 ..
JAVA vs C++ JAVA vs C++ Java와 C++은 문법적으로 상당히 유사하며 같은 객체 지향 언어라는 점에서 공통점이 있습니다. 하지만, 차이점도 극명하게 존재합니다. Java와 C++의 차이점 상속 C++은 다중 상속을 지원하지만 Java는 지원하지 않습니다. 다중 상속을 지원하는 언어에서는 다이아몬드 문제(Diamond Problem)이 발생하는데, C++에서는 다이아몬드 문제를 회피할 수 있는 기능을 제공합니다. 다이아몬드 문제(Diamond Problem) 다중 상속 시, 어느 클래스의 메소드를 상속받아야 하는지 모호한 문제로, 둘 이상의 부모에 같은 메소드가 정의되어 있을 경우, 어느 것을 상속받을지 모호하게 됩니다. 인터페이스는 기능에 대한 선언만 해두면 되기 때문에, 다중 상속을 하더라도 충돌할 여지..
프로세스 스케줄링 프로세스 스케줄링 스케줄링이란 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 뜻하며, 대기 시간은 최소화하고 최대한 공평하게 처리하는 것을 목적으로 합니다. 메모리에 여러 개의 프로세스를 올려놓고(다중 프로그래밍), CPU의 가동시간을 적절히 나누어(시분할) 각각의 프로세스에게 분배하여 실행되도록 합니다. 프로세스 스케줄링이란 CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 일입니다. 처리율과 CPU 이용률을 증가시키고 오버헤드/응답시간/반환시간/대기시간을 최소화시키기 위한 기법입니다. 즉, CPU가 쉬지 않고 계속 열심히 일할 수 있도록 효율적인 계획을 잡아주는 것입니다. 스케줄링에서는 아래와 같이 장기, 중기, 단기 단위가 있습니다. 장기 ..