Java의 모든 클래스의 최상위 부모 클래스 Object

1. 개요: 2. Object의 생성자 메서드: 빈 매개변수 생성자 하나만 가지고 있습니다. 자식 클래스들의 공통적인 특성만 부모 클래스로 추출하기 때문입니다. 자식 클래스들은 다양한 형태를 가지고 있어서 모든 자식 클래스가 공통으로 가지는 속성은 존재할 수 없습니다. 따라서 최상위 부모 클래스인 Object 클래스에는 멤버 변수가 없으며, 매개변수가 있는 생성자도 없 ...

6월 20일 21:58에 게시됨

Java에서 상속과 인터페이스 구현의 차이점: extends와 implements

extends와 implements의 핵심 개념 Java에서는 클래스 간의 관계를 정의하기 위해 extends와 implements라는 두 가지 키워드를 사용한다. 이 둘은 모두 재사용성을 제공하지만, 그 목적과 사용 방식에는 중요한 차이가 있다. 상속: extends 키워드 extends는 기존 클래스를 상속받아 새로운 하위 클래스를 만드는 데 사용된다. 이를 통해 자식 클래스는 부모 클래스의 필 ...

6월 17일 19:16에 게시됨

객체 지향 프로그래밍의 핵심 개념 정리

프로그래밍 패러다임: 절차지향과 객체지향 프로그래밍에는 두 가지 주요 접근 방식이 존재한다. 하나는 절차지향적 사고방식이고, 다른 하나는 객체지향적 사고방식이다. 절차지향 프로그래밍 문제 해결을 위한 단계를 나누어 각 단계별로 코드를 작성하는 방식이다. 이 방법은 대부분의 프로그램에서 기본적으로 사용되며, 규모에 따라 비중이 달라질 뿐이다. 객체지향 ...

6월 7일 17:51에 게시됨

C++에서 다형성 구현 원리 완전 정복

가상 함수와 다형성 개념 클래스 내에서 virtual 키워드가 붙은 멤버 함수는 가상 함수로 분류됩니다. 이 키워드는 함수 선언부에만 사용되며, 실제 구현부에는 포함되지 않습니다. class Parent { virtual int process() ; // 가상 함수 선언 }; int Parent::process() // 구현 시 virtual 불필요 { // 함수 내용 } 다형성의 첫 번째 형태 파생 클래스의 인스 ...

6월 6일 21:39에 게시됨

파이썬 객체 지향 프로그래밍 기초: 클래스와 인스턴스 활용

객체 지향 프로그래밍의 이해 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발에서 핵심적인 패러다임 중 하나로, 현실 세계의 개념을 코드로 모델링할 수 있게 해줍니다. 이 방식은 데이터(속성)와 그 데이터를 조작하는 함수(메서드)를 하나의 단위인 클래스(Class)로 묶어 관리합니다. 클래스로부터 생성된 구체적인 인스턴스를 객체(Object ...

6월 1일 21:12에 게시됨

Python 클래스와 상속 기본 개념

클래스의 캡슐화: 캡슐화는 클래스 내부의 정보를 숨기고, 외부에서 직접 변수를 수정하지 못하도록 하는 기법입니다. 클래스가 제공하는 메서드를 통해서만 숨겨진 정보에 접근하고 조작할 수 있습니다. class Monster(): # 클래스의 공용 속성 species = "악마" # 클래스 초기화(생성자), 클래스 인스턴스화 시 자동 호출됩니다. def _ ...

5월 22일 12:41에 게시됨

자바 상속에서 필드와 메서드 오버라이딩의 동작 원리

상속 구조에서 필드와 접근 메서드의 실질적 동작 분석 Java의 상속 시스템은 단순히 코드를 물려받는 것을 넘어서, 런타임 시점의 메서드 호출 방식에 따라 의도치 않은 동작이 발생할 수 있습니다. 아래 사례를 통해 이러한 현상을 명확히 이해해보겠습니다. 기본 예제: 필드 충돌과 메서드 오버라이딩 public class Freath { private int a = 1; public int ge ...

5월 20일 21:09에 게시됨