개냥이
close
프로필 배경
프로필 로고

개냥이

  • 분류 전체보기 (94)
    • 개발 일지 (4)
      • FrontEnd_프론트엔드 (4)
      • BackEnd_백엔드 (0)
      • TroubleShooting_트러블슈팅 (0)
    • Study (54)
      • Javascript (0)
      • Typescript (1)
      • React (1)
      • Node.JS (18)
      • Python (11)
      • Java (20)
      • SQL (3)
    • CodingTest (31)
      • 자료구조-알고리즘 (13)
      • BeakJoon (18)
      • Programmers (0)
    • Career_커리어 (3)
      • Hackathon _해커톤 (1)
  • 홈
  • Github
  • 태그
  • 방명록
[Java] 다형성과 설계

[Java] 다형성과 설계

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 좋은 객체 지향 프로그래밍이란?객체 지향 프로그래밍(OOP)의 핵심 특징은 네 가지다. 추상화 캡슐화 상속 다형성 이 중 가장 중요한 것이 다형성(Polymorphism)이다. 객체 지향 프로그래밍은 명령어의 목록으로 프로그램을 보는 절차적 시각에서 벗어나, 여러 독립된 단위인 "객체"들의 협력으로 세상을 파악한다. 각 객체는 메시지를 주고받으며 데이터를 처리한다.좋은 객체 지향 설계가 추구하는 것은 유연하고 변경이 용이한 소프트웨어다. 레고 블록을 조립하듯, 키보드나 마우스를 교체하듯, 컴포넌트를 쉽게 바꿀 수 있는 구조가 목표다. 이것이 대규모 소프트웨어 개발에서 OOP가 널리 쓰이는..

  • format_list_bulleted Study/Java
  • · 2026. 4. 9.
  • textsms
[Java] 다형성 Part.2

[Java] 다형성 Part.2

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 다형성이 없을 때의 문제다형성의 장점을 이해하려면 다형성 없이 코드를 작성했을 때 어떤 문제가 생기는지를 먼저 봐야 한다. 가장 고전적인 예제인 동물 울음 소리를 통해 살펴보자.Dog, Cat, Caw(소) 세 클래스가 있고, 각자 sound() 메서드를 가진다. 이들 사이에는 아무런 상속 관계가 없다. sound() Dog sound() Cat sound() Caw 세 클래스는 서로 완전히 독립적이다. 이 상태에서 동물 소리 테스트 코드를 작성하면 다음과 같은 중복이 발생한다.System.out.println("동물 소리 테스트 시작");dog.sound();System.out.pr..

  • format_list_bulleted Study/Java
  • · 2026. 4. 9.
  • textsms
[Java] 다형성 Part.1

[Java] 다형성 Part.1

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 다형성이란객체지향 프로그래밍의 대표적인 특징으로는 캡슐화, 상속, 다형성이 있다. 그 중에서 다형성은 객체지향 프로그래밍의 꽃이라 불린다.앞서 학습한 캡슐화나 상속은 직관적으로 이해하기 쉽다. 반면에 다형성은 제대로 이해하기도 어렵고, 잘 활용하기는 더 어렵다. 하지만 좋은 개발자가 되기 위해서는 다형성에 대한 이해가 필수다.다형성(Polymorphism)은 이름 그대로 "다양한 형태", "여러 형태"를 뜻한다. 프로그래밍에서 다형성은 한 객체가 여러 타입의 객체로 취급될 수 있는 능력을 뜻한다. 보통 하나의 객체는 하나의 타입으로 고정되어 있다. 그런데 다형성을 사용하면 하나의 객체가 다른 타입으로 사용될 수 있다는 뜻이다.다형성을 이해하기..

  • format_list_bulleted Study/Java
  • · 2026. 4. 9.
  • textsms
[Java] 상속

[Java] 상속

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.Java 기본 — 상속1. 상속이 필요한 이유전기차(ElectricCar)와 가솔린차(GasCar)를 각각 별도의 클래스로 만들면 어떤 문제가 생기는지 먼저 살펴본다.public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public void charge() { System.out.println("충전합니다."); }}public class GasCar { public void move() { System.out.println("차를 이동합니다."); } public void fil..

  • format_list_bulleted Study/Java
  • · 2026. 4. 9.
  • textsms
[Java] final

[Java] final

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. final 변수와 상수1final 키워드는 이름 그대로 끝이라는 뜻이다. 변수에 final 키워드가 붙으면 더는 값을 변경할 수 없다.참고로 final은 class, method를 포함한 여러 곳에 붙일 수 있다. 지금은 변수에 붙는 final 키워드를 알아본다. 나머지는 final의 사용법은 상속을 설명한 이후에 설명한다.final - 지역 변수package final1;public class FinalLocalMain { public static void main(String[] args) { //final 지역 변수1 final int data1; data1 = 10; //최초 한번만 할당 가능..

  • format_list_bulleted Study/Java
  • · 2026. 4. 7.
  • textsms
[Java] 자바의 메모리 구조

[Java] 자바의 메모리 구조

김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 자바 메모리 구조자바의 메모리 구조는 크게 메서드 영역, 스택 영역, 힙 영역 3개로 나눌 수 있다. 메서드 영역 클래스 정보 클래스, 메서드 실행 코드 static 영역 static 변수 보관 상수 풀 "hello", 123 스택 영역 method1() frame data1=x001 main() frame args[] 힙 영역 x001 value=10 Data 인스턴스 힙 --> 자바 메모리 구조 — 메서드 영역 / 스택 영역 / 힙 영역 메서드 영역(Method Area): 프로그램을 실행하는 데 필요한 공통 데이터를 관리한다. ..

  • format_list_bulleted Study/Java
  • · 2026. 4. 6.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (94)
    • 개발 일지 (4)
      • FrontEnd_프론트엔드 (4)
      • BackEnd_백엔드 (0)
      • TroubleShooting_트러블슈팅 (0)
    • Study (54)
      • Javascript (0)
      • Typescript (1)
      • React (1)
      • Node.JS (18)
      • Python (11)
      • Java (20)
      • SQL (3)
    • CodingTest (31)
      • 자료구조-알고리즘 (13)
      • BeakJoon (18)
      • Programmers (0)
    • Career_커리어 (3)
      • Hackathon _해커톤 (1)
최근 글
인기 글
최근 댓글
태그
  • #프로그래머스
  • #백준
  • #TypeScript
  • #react
  • #자료형
  • #파이썬
  • #Python
  • #코딩테스트
  • #자료구조
  • #알고리즘
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바