신입 개발자 기술 면접 대비/Java 5

신입 개발자 기술 면접 대비(2)_객체 지향 프로그래밍(OOP) 개념 및 원칙

객체 지향프로그래밍(OOP) 개념 및 원칙1. 객체 지향 개념 및 특징 관련 질문 Q1. 객체 지향 프로그래밍(OOP)에 대해 설명해주세요. ANSWER객체 지향 프로그래밍(OOP)은 객체를 중심으로 프로그램을 설계하고 구성하는 방식입니다. 데이터와 동작을 캡슐화한 객체를 정의하고, 객체 간의 상호작용을 통해 시스템을 구성하며, 복잡한 문제를 더 쉽게 모델링할 수 있습니다. 객체 지향은 재사용성, 유지보수성, 확장성을 높이는 데 도움을 줍니다.객체 지향 프로그래밍 핵심 개념 정리 정의: 데이터를 포함한 객체를 중심으로 프로그램을 구성하는 프로그래밍 패러다임주요 특징: 코드의 재사용성, 유지 보수성, 확장성 증가주요 개념: 캡슐화, 상속, 다형성, 추상화Q2. 객체 지향 프로그래밍(OOP)의 4가지 특징을..

신입 개발자 기술 면접 대비(1)_Java의 기초

신입 개발자 기술 면접 대비(1)_Java의 기초 Q1. Java의 특징을 설명해주세요 Answer.Java는 객체 지향 프로그래밍 언어로, 기본 자료형을 제외한 모든 요소가 객체로 표현됩니다. 또한, 캡슐화, 상속, 다형성 등 객체 지향 프로그래밍의 주요 개념이 잘 적용된 언어입니다.자바는 JVM(자바 가상 머신) 위에서 동작하여 플랫폼에 관계없이 실행될 수 있는 플랫폼 독립성을 가지며, "Write Once, Run Anywhere"를 실현합니다. 또한, 가비지 컬렉터(Garbage Collector)를 통한 자동 메모리 관리와 멀티스레딩 지원으로 여러 작업을 동시에 수행하는 애플리케이션을 효율적으로 개발할 수 있습니다.보안성 측면에서도 자바는 클래스 로더와 바이트코드 검증을 통해 안전한 실행 환경을..

신입 개발자 기술 면접 대비용(3)_Java 기초 개념(1)

1. Java의 특징 2. JVM의 역할 3. Java의 컴파일 과정 4. Java의 메모리 영역 5. Java의 가비지 컬렉션 6. Java에서 제공하는 원시 타입들의 종류와 각각의 Byte 7. Java의 클래스와 객체 8. Java의 생성자 Java의 특징 Java는 객체지향 프로그래밍 언어 이자 컴파일러 언어 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화,상속, 다형성이 잘 적용된 언어 장점 JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적 GabageCollector(가비지컬렉터)를 통한 자동적인 메모리 관리 가능 단점 JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다. 다중 상속이나 타입에 엄격하며, 제약이 많다. JVM의 역할 J..

신입 개발자 기술 면접 대비용(2)_객체지향 설계의 5대 원칙

객체지향 설계의 5대 원칙 SOLID( SRP,OCP,LSP,ISP,DIP )설계원칙이라고도 함. 객체지향 설계를 위해 수립한 원칙 SRP(Single Responsibility Princip, 단일 책임 원칙) 하나의 클래스는 하나의 책임만 가져야함. 작성된 클래스는 하나의 기능만을 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수정하는데 집중해야한다. 클래스를 변경하는 이유는 오직 하나 뿐이다. 책임이 많아 질 수록 그 객체의 변경에 따른 영향도의 양과 범위가 매우 커지게 됨, 특정 객체의 책임의존성 과중을 지양하기 위한 원칙 단일책임원칙 참고 블로그 (코드 예제도 있어서 이해를 도움) [OOP] 객체지향 5대 원칙(SOLID) - 단일 책임 원칙(SRP) 객체지향의 5대 원칙 중, 단일 ..

신입 개발자 기술 면접 대비용(1)_객체지향 프로그래밍에 대한 설명

객체지향 프로그래밍 객체지향프로그래밍 정의 실세계 존재하고 인지 할 수 있는 모든 것을 객체라고 하며, 이를 활용하여 프로그램을 만드는 것 프로그램을 구현하기 위해 객체를 파악하고, 상태와 행위를 가진 객체를 만들고, 각각의 객체들의 역할이 무엇인지 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것 추상화, 다형성, 캡슐화, 상속이라는 특징을 가짐 모듈 재사용으로 확장과 재사용 용이 캡슐화, 다형성, 상속, 추상화 캡술화의 정의 클래스안에 서로 연관된 속성과 기능들을 하나의 캡슐로 만드는 것 캡슐화의 목적 외부로부터 클래스에 정의된 속성과 기능들을 보호하고, 필요한 부분만 외부로부터 노출될 수 있도록하여, 각 객체의 고유독립성과 책임영역을 안전하게 지키고자 하는 목적(데이터 보호, 데이터 은닉)..