Job Interview Prep16 JavaBean JavaBean이란데이터를 표현하는 것을 목적으로 하는 자바 클래스여러가지 객체들을 하나의 객체에 담아서 네트워크를 통해 전송하거나 파일/데이터베이스에 저장하기 위해 Serialization을 해서 data stream(e.g, byte[])으로 이 객체를 변환시켜줘야 한다.JavaBean의 주요 규칙기본 생성자 (Default Constructor)모든 JavaBean은 매개변수가 없는 기본 생성자(No-Argument Constructor)를 가져야 한다.이는 인스턴스화를 쉽게 하기 위해 필요하다.생성자에 Argument가 있다면 런타임에 Argument가 몇개인지, 어떤 필드에 매핑되는지 찾아야 한다.Argument가 없는 생성자가 반드시 있도록 하면 객체를 런타임(Runtime)에 생성할때 생성후.. 2024. 5. 31. Java의 다형성(Polymorphism) 다형성(Polymorphism)OOP의 특성중 하나이다.다형성은 동일한 인터페이스나 부모 클래스를 공유하는 객체들이 다양한 방식으로 동작할 수 있게 하는 특성을 의미한다하나의 메서드가 여러 클래스에서 다른 방식으로 구현될 수 있다Java에서는 오버로딩(Overloading)과 오버라이딩(Overriding) 두 가지 형태로 주로 구현된다. 참조 변수의 다형성자바에서는 다형성을 위해 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하고 있다.(이때 참조 변수가 사용할 수 있는 멤버의 개수가 실제 인스턴스의 멤버 개수보다 같거나 적어야 참조할 수 있다.)class Parent { ... }class Child extends Parent { ... }...Parent pa = .. 2024. 5. 31. Docker vs Kubernetes / Docker Compose vs Docker Swarm vs Kubernetes Docker vs Kubernetes구분도커 (Docker)쿠버네티스 (Kubernetes)주요 목적 Primary Purpose컨테이너 생성 및 관리컨테이너 오케스트레이션기능 Functionality컨테이너 이미지 빌드, 배포, 실행컨테이너 배포, 확장, 자가 치유, 로드 밸런싱자동 확장 Auto-Scaling기본적으로 제공되지 않음기본적으로 자동 확장 기능 제공서비스 디스커버리제공되지 않음네이티브 서비스 디스커버리 및 로드 밸런싱 지원자가 치유 Self-Healing제공되지 않음컨테이너 재시작, 복구 및 대체 기능 제공롤링 업데이트 Rolling Updates수동으로 수행네이티브 롤링 업데이트 및 롤백 지원스토리지 관리 Storage Management외부 도구 필요다양한 스토리지 시스템과.. 2024. 5. 28. Java가 다중 상속을 지원하지 않는 이유 Java가 다중 상속을 지원하지 않는 이유는 주로 다이아몬드 문제(Diamond Problem)와 관련된 복잡성과 모호성을 피하기 위해서이다다중 상속은 하나의 클래스가 둘 이상의 부모 클래스로부터 상속받는 것을 의미한다주요 이유와 그에 따른 문제점은 다음과 같다1. 다이아몬드 문제 (Diamond Problem)다이아몬드 문제는 다중 상속을 사용하는 언어에서 자주 발생하는 문제로, 두 개의 클래스가 동일한 부모 클래스를 상속받고, 그 두 클래스를 또 다른 클래스가 상속받을 때 발생한다이러한 상속 구조는 아래와 같이 다이아몬드 모양을 형성한다 A / \\ B C \\ / D위와 같은 구조에서 D 클래스가 A 클래스의 메서드를 상속받을 때, **B**와 C 클래스가 A 클래스의 동일한 메서드를.. 2024. 5. 24. Collection Framework Java Collection Framework는 데이터를 저장하고 조작하는 데 사용되는 클래스와 인터페이스의 표준화된 구조이다다양한 데이터 구조를 쉽게 사용할 수 있고, 데이터 조작을 간편하게 수행할 수 있게 한다주요 인터페이스와 클래스1. 인터페이스 Collection 모든 컬렉션 클래스의 최상위 인터페이스.List 순서가 있는 컬렉션을 나타내며, 중복 요소를 허용.구현 클래스: ArrayList, LinkedList, Vector, StackSet 순서가 없는 컬렉션을 나타내며, 중복 요소를 허용하지 않음.구현 클래스: HashSet, LinkedHashSet, TreeSetQueue FIFO(First In First Out) 구조를 나타내며, 주로 큐와 같은 데이터 구조를 나타냄.구현 클래스: L.. 2024. 5. 24. 추상클래스와 인터페이스 정의와 차이점 추상클래스(Abstract Class)와 인터페이스(Interface)는 모두 클래스 간의 공통적인 동작을 정의하는 방법을 제공한다추상클래스 (Abstract Class)하나 이상의 추상 메서드를 포함하는 클래스일반 메서드도 포함할 수 있다필드를 가질 수 있다생성자를 가질 수 있다상속을 통해 클래스의 공통적인 동작을 정의할 때 사용한다추상 메서드선언되어있지만 구현은 되어있지 않은 메서드추상클래스 자체는 인스턴스화할 수 없으며, 추상클래스를 상속받는 하위 클래스에서 추상 메서드를 구현해야 한다인터페이스 (Interface)인터페이스는 메서드의 선언만을 포함하며, 구현은 제공하지 않는 추상 타입모든 메서드는 기본적으로 추상 메서드디폴트 메서드(default methods)와 static 메서드를 포함할 수 .. 2024. 5. 24. Object Oriented Programming 객체 지향 프로그래밍(OOP, Object-Oriented Programming)은 소프트웨어 설계 패러다임의 하나로, 프로그램을 객체(object)의 집합으로 보고 이 객체들이 서로 상호작용하여 동작하도록 구성하는 방법론이다객체는 데이터와 그 데이터를 처리하는 함수를 함께 묶어 놓은 일종의 모듈이다OOP의 핵심 개념에는 클래스, 객체, 상속, 다형성, 캡슐화가 포함된다핵심 개념클래스(Class)클래스는 객체를 정의하는 틀(template) 또는 청사진(blueprint)이다클래스는 데이터(속성)와 행동(메서드)을 정의한다**자동차**라는 클래스를 정의하면, 이는 모든 자동차가 가져야 할 속성과 행동을 포함한다객체(Object)객체는 클래스로부터 생성된 실체(instance)이다객체는 클래스에서 정의한 .. 2024. 5. 24. 이전 1 2 다음