2025/02/25 2

오버로딩(Overloading)과 오버라이딩(Overriding)

객체지향 프로그래밍(OOP)에서 자주 등장하는 개념 중 하나가 오버로딩과 오버라이딩이다.두 개념은 이름이 비슷해서 헷갈리기 쉬운데 개념적으로 큰 차이가 있다. 이번에는 오버로딩과 오버라이딩의 차이를 명확하게 이해하는 시간을 가져보도록 하겠다. 오버로딩(Overloading)이란?오버로딩은 같은 이름의 메서드를 여러 개 정의할 수 있도록 하는 기능이다.단, 매개변수의 개수 또는 타입이 달라야한다. 즉, 같은 이름을 가진 메서드라도 전달하는 인자가 다르면 서로 다른 메서드로 취급된다는 소리이다. 오버로딩의 특징같은 클래스 내에서 메서드 이름을 동일하게 정의할 수 있다.매개변수의 개수, 타입, 순서가 다를 경우 허용된다.반환 타입은 오버로딩과 관계가 없다. class MathUtils { // 두 개의 ..

CS 2025.02.25

싱글톤 패턴(Singleton Pattern)

싱글톤 패턴이란 무엇일까?싱글톤 패턴(Singleton Pattern)은 객체의 인스턴스를 하나만생성하고, 이를 프로그램 전체에서 공유하도록 설계하는 디자인 패턴이다. 이는 글로벌 상태를 유지해야 하는 경우에 유용하며, 특히 설정,로그, 데이터베이스 연결관리, 스레드 풀 등에서 널리 사용된다. 싱글톤 패턴의 특징단일 인스턴스 : 클래스의 인스턴스가 하나만 생성되도록 보장.전역 접근 가능 : 프로그램 내 어디에서든 동일한 인스턴스를 호출할 수 있음.메모리 절약 : 불필요한 객체 생성을 방지하여 성능을 향상.멀티스레드 환경에서 동기화 문제 고려 필요 : 여러 스레드에서 동시에 접근할 경우 동기화 문제를 해결해야 한다. 싱글톤 패턴의 구현 방법1) Eager Initialization (이른 초기화)publi..

CS 2025.02.25