technicalinterview 2

[OVERVIEW] OOP

Technical Interview 에서 받았던 질문 中 1OOP(객체지향 프로그래밍)에 대해 설명해주세요. Object-Oriented Programming  객체지향 프로그래밍은 프로그램을 객체라는 독립적인 단위로 나누어 설계하는 방법이다. 객체는 데이터를 포함하고, 그 데이터를 처리하는 메서드를 함께 가지고 있다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있다.  OOP의 주요 특징 1. 캡슐화 Encapsulation 객체 내부의 데이터를 외부에서 직접 접근하지 못하도록 하고, 메서드를 통해 접근하도록 하는 방식이다. 자바에서는 private 키워드를 사용해 필드를 숨기고, getter와 setter로 접근하는 것이 예시이다. 2. 상속 Inheritance 기존 클래스의 속성과 메서드를..

JAVA/JAVACORE 2024.10.16

[COMPARISON] State / Behavior in Object

Technical Interview 에서 받았던 질문 中 1Object에서의 State / Behavior 를 비교해 설명해주세요. 객체(Object)란?객체는 현실 세계의 사물과 유사하게, 데이터와 기능을 하나로 묶어놓은 프로그래밍 요소이다. 자바 같은 객체지향 언어에서 모든 객체는 특정 클래스(Class)의 인스턴스로, 해당 클래스는 객체의 특성(속성)과 할 수 있는 행동을 정의한다. 상태(State)란?객체의 상태는 객체가 갖는 데이터나 속성을 의미한다. 객체의 상태는 시간이 지남에 따라 변할 수 있으며, 이 상태는 객체의 변수에 저장된다. 상태는 객체가 특정 시점에서 가지고 있는 모든 정보를 포함한다. 예를 들어, Car 객체가 있다면, 그 객체의 상태는 "현재 속도", "연료량", "차 색상" ..

JAVA/JAVACORE 2024.10.03