객체지향프로그래밍2 [면접준비] 싱글톤과 static의 차이점 1. 싱글톤 - 단 하나의 객체(인스턴스)만을 생성하여 해당 객체를 공유하는 디자인 패턴 - 객체를 생성하려고 할 때마다 이미 생성된 것을 반환하거나 없다면 해당 시간에 처음 생성함 - 정적 클래스와 달리 싱글톤 클래스는 확장, 재정의, 인터페이스 구현이 가능 - 생성 시점을 조정 가능 - 객체이므로 힙에 싱글톤 객체가 저장됨 -> 쓰레드간 공유 가능 - 직렬화가 가능 2. static - 객체를 만들지 않고, 생성자도 갖지 않음 - 인터페이스 구현 불가능 - override 불가능 - 퍼포먼스는 빠름 - 절차지향적 성향이 강함 -> 무분별한 사용은 객체 지향을 해침 - 어플리케이션이 메모리에 로드될 때 스택에 바로 초기화 - 정적 스택에 저장되기 때문에 쓰레드 관리가 어려움 Q. 왜 static을 쓰지.. 2023. 8. 16. [면접 준비] OOP란 무엇인가? 1.OOP - OOP(Object Oriented Programming)란 객체 지향 프로그래밍을 뜻한다. - 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 사용한다. - 객체들이 서로 유기적으로 상호작용하는 특징이 있다. - 대표적으로 Java와 C#이 있다. cf) 객체 - 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹 - ex) 컴퓨터(객체) -> 데이터(본체, 모니터, 키보드) + 기능(화면, 소리, 입력, 출력) 2. OOP의 장점 1) 코드 재사용성 증가 - 상속을 통해 프로그래밍시 코드의 재사용을 높일 수 있음. 2) 생산성 향상 - 잘 설계된 클래스를 만들어서 독립적인 객체를 사용함으로써 개발의 생산성을 향상시킬 수 있음. 3) 자연적인 모델링 - 우리 일상생활의 모습의.. 2023. 7. 29. 이전 1 다음