본문 바로가기

분류 전체보기96

[CS 면접 기본 - 자바] 14. 디자인패턴에 대해서 알려줘 **디자인 패턴(Design Patterns)**은 소프트웨어 설계에서 자주 발생하는 문제를 해결하기 위한 일반적인 솔루션을 정의한 것입니다. 디자인 패턴은 특정 상황에서의 소프트웨어 구조와 동작을 향상시키고, 코드의 재사용성과 유지보수성을 높이는 데 도움이 됩니다. 디자인 패턴은 주로 다음과 같은 세 가지 범주로 나눌 수 있습니다. 1. 생성패턴 2.구조패턴 3.행동패턴  생성 패턴 : 생성 패턴은 객체 생성과 관련된 패턴으로, 객체를 생성하는 방법을 관리하고, 객체 생성 로직을 캡슐화하여 객체의 생성 과정을 제어합니다. -싱글턴 패턴 (Singleton Pattern):클래스의 인스턴스를 하나만 생성하고, 이 인스턴스에 대한 전역 접근을 제공하는 패턴입니다.DB 커낵션 객체는 계속해서 연결했다 끊었다.. 2024. 10. 27.
[CS 면접 기본 - 자바] 13. SOLID 원칙에 대해서 말해줘 SOLID 원칙은 객체 지향 프로그래밍에서 소프트웨어 디자인을 개선하고 유지보수를 용이하게 하기 위해 제안된 다섯 가지 원칙입니다. SOLID는 다음의 다섯 가지 원칙의 머리글자를 따서 만든 약어입니다:S - Single Responsibility Principle (SRP):단일 책임 원칙: 클래스는 하나의 책임만 가져야 하며, 그 책임을 완전히 캡슐화해야 합니다. 즉, 클래스가 변경될 이유는 오직 하나뿐이어야 한다는 원칙입니다. 이렇게 하면 클래스가 변경될 때, 그 클래스의 다른 부분에 영향을 주지 않아 코드의 유지보수가 용이해집니다.O - Open/Closed Principle (OCP):개방-폐쇄 원칙: 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하고, 수정에 대해.. 2024. 10. 27.
[CS 면접 기본 - 자바] 12. Check 예외, unCheck 예외에 대해서 말해줘 체크 예외 (Checked Exception):컴파일 타임에 검사되며, 반드시 처리해야 함. 반드시 처리해야 하는 예외입니다. 이러한 예외는 메서드 선언에서 throws 키워드를 사용하여 선언해야한다체크 예외는 반드시 try-catch 블록을 사용하여 처리해야 하거나, 메서드에서 throws 키워드를 통해 다시 던져야 합니다.예: IOException, SQLException언체크 예외 (Unchecked Exception):런타임에 발생하며, 컴파일 타임에 검사되지 않음.예: NullPointerException, ArrayIndexOutOfBoundsException이러한 예외들은 프로그래밍에서 발생할 수 있는 다양한 오류를 처리하는 방법을 제공하여, 보다 안정적인 소프트웨어를 개발할 수 있도록 도와.. 2024. 10. 27.
[CS 면접 기본 - 자바] 11. JDK , JRE , JVM에 대해서 알려줘 1. JRE (Java Runtime Environment)JRE는 자바 프로그램을 실행하기 위한 환경입니다.**JVM (Java Virtual Machine)**과 라이브러리 클래스, 기타 자바 애플리케이션을 실행하기 위한 필수 구성 요소를 포함하고 있습니다.구성 요소:JVM (Java Virtual Machine): 자바 바이트코드를 실행하는 역할을 함.클래스 라이브러리: 자바 애플리케이션에서 사용하는 표준 라이브러리.클래스 로더: 자바 클래스 파일을 JVM에 로드하는 역할.2. JDK (Java Development Kit)JDK는 자바 애플리케이션을 개발하고 실행하기 위한 도구와 라이브러리를 제공합니다.JRE를 포함하고 있으며, 그 외에 컴파일러(javac), 디버거(jdb), 아카이버(jar) .. 2024. 10. 27.
[CS 면접 기본 - 자바] 10. JVM에 대해서 알려줘 jvm : 가비지 컬랙터 / 실행엔진 / 클래스 로더 / 메모리(runtime data area) 4가지 영역으로 이뤄짐.  자바 어플리케이션 실행 방법  MAC WIN 위에 자바가 미리 짜놓고 그 위에 사용자가 짤 수 있도록 해놓음  MAC, WIN 위에 자바가 미리 짜놓은 곳이 JVM이라고 한다.  그 위에서 공통된 자바소스를 짜면,  환경에 영향을 받지 않는다.  java -컴파일 -> 클래스 파일  여기가 바이트 코드다.  이거를 JVM이 읽어서, class loader를 통해 자바의 메모리  (Runtime Data area)올리고, 실행엔진이 동작시킨다.  정리) 컴파일러가 java를 클래스 파일로 바꾸는데 이 바꾼코드를 바이트 코드라고 합니다. 이 바이트 코드는 JVM의 클래스 로더를 통해서.. 2024. 10. 27.
[CS 면접 기본 - 자바] 9. 인터페이스와 추상클래스의 차이가 뭘까? - 추상 클래스 : abstract로 지시자로 정의되며, 추상메소드가 하나이상 포함 (상속을 위한 것)  => 강아지와 고양이를 예로 공통점은 짖는다는 특징 :   => 차이점은 짖는 소리가 다르다.   => 짖는 소리에 대한 정의는 Dog 객체, Cat 객체 다르게 해주어야하기 때문에, 동물이라는 추상클래스를 만들고, 거기에 공통 특징은 일반메소드로 구현하고  차이점은 추상 메소드로 정의만 한 뒤, 상속 받은 자식 클래스가 구체적인 구현을 맡긴다.    - 인터페이스 : interface 지시자로 정의하며 모든 메소드가 추상메소드로 정의(보장을 위한 것) 인터페이스는 정의만 넣어두고 각 클래스는 그 기능을 구현하도록 강제한다. 다중 상속이 가능하다. interface swim, fly 등 다중으로 상속.. 2024. 10. 27.