본문 바로가기
반응형

CS31

[Java] Thread를 자주쓰면 안되는 이유 Thread를 사용하는 것이 프로그램의 성능을 향상시키고 다양한 작업을 동시에 수행할 수 있는 강력한 도구입니다. 그러나 Thread를 과도하게 사용하면 몇 가지 문제와 위험성이 발생할 수 있습니다. 따라서 "더 많이 사용하면 더 좋다"는 절대적인 규칙은 없으며, Thread를 적절하게 사용해야 합니다. 아래는 Thread 사용에 대한 몇 가지 고려 사항입니다. 💡시스템 리소스 소모 각 Thread는 추가 메모리 및 CPU 리소스를 사용하므로, Thread를 과도하게 생성하면 시스템 리소스를 소모하게 됩니다. 이는 다른 프로세스나 서비스에 영향을 미칠 수 있습니다. 💡 동시성 문제 Thread를 다룰 때, 동시성 문제를 처리하는 것이 중요합니다. 공유 데이터에 대한 접근 및 변경은 동기화와 관련된 문제를.. 2023. 10. 21.
[Java] Call by Reference와 Call by Value의 차이 Call by Reference와 Call by Value는 프로그래밍 언어에서 함수나 메소드로 값을 전달하는 방식에 관한 중요한 개념입니다. 두 방식의 주요 차이점은 값을 어떻게 전달하고 메모리에 어떻게 저장하는가에 있습니다. 이제 두 방식을 자세히 알아보겠습니다. 💡 Call by Value (값에 의한 호출) 매개변수로 전달되는 값(인자)의 복사본이 함수에 전달됩니다. 이 복사본을 함수 내에서 사용하며, 함수 내에서 변수 값 변경은 호출자(caller)에게 영향을 미치지 않습니다. Call by Value는 주로 기본 데이터 타입(정수, 실수, 불린 등)에 대해 적용됩니다. 호출자와 호출된 함수가 서로 다른 메모리 공간에 위치한 복사본을 사용하는 방식입니다. 1 2 3 4 5 6 7 8 9 10 1.. 2023. 10. 12.
[Java] Interface와 Abstract Class의 차이 💡Interface 추상 메서드만 포함: 인터페이스는 추상 메서드의 집합으로 이루어져 있습니다. 추상 메서드는 구현 내용이 없고 메서드 시그니처만 정의됩니다. 클래스가 인터페이스를 구현하면 해당 클래스는 인터페이스에 정의된 모든 메서드를 구현해야 합니다. 다중 상속 지원: Java에서 클래스는 단일 상속만 허용되지만, 여러 인터페이스를 구현할 수 있습니다. 이로 인해 다중 상속의 일부 장점을 활용할 수 있습니다. 구현을 강제함: 클래스가 인터페이스를 구현하면 그 인터페이스에 정의된 모든 메서드를 반드시 구현해야 합니다. 이를 통해 특정한 동작을 보장하고, 코드의 일관성을 유지합니다. 인스턴스 생성 불가: 인터페이스는 객체를 직접 생성할 수 없습니다. 따라서 인터페이스를 구현한 클래스의 인스턴스를 생성하여.. 2023. 10. 11.
[Java] 클래스, 객체, 인스턴스의 차이 💡클래스란? 클래스는 객체의 설계도 또는 템플릿입니다. 클래스는 어떤 객체가 가져야 할 속성 (멤버 변수)과 동작 (메서드)을 정의합니다. 클래스는 객체를 생성하기 위한 설계도 역할을 하며, 객체를 생성할 때 실제 데이터가 아닌 객체의 특성과 행동을 정의합니다. 클래스는 여러 개의 객체를 생성할 수 있는 일종의 틀로 생각할 수 있습니다. 1 2 3 4 5 6 7 8 9 class Car { String make; String model; void start() { // Car 객체를 시작하는 동작 } } cs 💡객체란? 객체는 클래스의 인스턴스입니다. 즉, 클래스를 기반으로 실제 데이터를 포함하는 실체를 의미합니다. 객체는 클래스의 구조대로 생성되며, 클래스의 멤버 변수에 실제 데이터를 저장할 수 있습니.. 2023. 10. 10.
반응형