본문 바로가기
반응형

BackEnd83

[Java] 다형성(Polymorphism) 정리 # 목적: 학습을 위한 다형성 개념 정리다형성(polymorphism)이란?: 여러 가지 형태를 가질 수 있는 능력,조상 타입 참조 변수로 자손 타입 객체를 다루는 것.다형성은 백마디 말보다 코드로 보는 게 더 이해하기 쉽다.작성한 예시의 주석을 참고하며 알아보자.1. 기본 예시class Tv { boolean power; // 전원상태(on/off) int channel; // 채널 void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; }}class SmartTv extends Tv { String text; // 캡션(자막)을 보여주기 위한 문자열 void caption() {.. 2025. 1. 15.
[Java] 접근 제어자(access modifier) (Feat. 캡슐화) # 목적: 접근 제어자(access modifier)의 종류와 접근 범위에 대한 간단 기록접근제어자(access modifier)의 종류: 하나의 대상에 아래 4개 중 1개 사용 가능private : 같은 클래스 내에서만 접근 가능(default) : 같은 패키지 내에서만 접근 가능protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근 가능public : 접근 제한 전혀 없음접근 범위 표제어자같은 클래스같은 패키지자손 클래스전 체privateO   (default)OO  protectedOOO publicOOOO* class에 public을 붙일 때 - 소스파일의 이름과 클래스명이 같아야 함# 접근 제어자를 사용하는 이유 (feat. 캡슐화): 외부로부터 데이터를 보호하고, .. 2025. 1. 15.
[Java] 오버로딩(Overloading), 생성자(Constructor) # 목적: 오버로딩과 생성자에 대한 기초 개념 정리1. 오버로딩(overloading)이란?: 한 클래스 안에 같은 이름의 메서드를 여러개 정의하는 것오버로딩 성립 조건메서드 이름이 같아야 함매개변수의 개수 또는 타입이 달라야 함반환 타입은 영향 없음오버로딩 예시class overload { int test(int a, int b) { } int test(int x, int y) { } // 에러 - 조건 2번 불일치 int test(long a, int b) { } // 가능 - 매개변수 타입이 다르기 때문에 long test(int[] a) { } // 가능 - 매개변수 개수가 다르기 때문에(조건 3번으로 인해 long도 가능)}2. 생성자(constructor)란?: 인스턴스가 생성.. 2025. 1. 15.
[Java] static, instance 변수/메서드 정리 # 목적: static, instance 변수/메서드에 대한 개념 정리* 인스턴스 멤버 : 인스턴스 변수, 인스턴스 메서드* 클래스 멤버 : 클래스(static) 변수, 클래스(static) 메서드1. 변수(Variable)란?: 하나의 데이터를 저장할 수 있는 공간변수 구분 instance (객체, iv)static (cv)local (lv)명칭인스턴스 변수클래스변수, 공유변수로컬변수, 지역변수선언위치클래스 영역클래스 영역메서드 영역, 초기화 블럭 내부사용객체 생성 후 사용 가능언제나 사용 가능해당 영역 내에서만 유효* instance 변수는 개별 속성, static 변수는 공통 속성일 때 사용2. 메서드(Method)란?: 명령문 집합메서드 정의 방법public static void main(Stri.. 2025. 1. 15.
[Java] 객체지향 프로그래밍(Object-Oriented Programming, OOP) # 목적: 객체지향 프로그래밍(Object-Oriented Programming, OOP)에 대한 이해객체지향 프로그래밍(OOP)이란?컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, ‘객체’들의 상호작용(메시지 주고받기, 데이터 처리 등)으로 프로그램 로직을 구성하는 프로그래밍 패러다임OOP의 핵심 개념1. 캡슐화(Encapsulation)2. 상속(Inheritance)3. 추상화(Abstraction)4. 다형성(Polymorphism)객체(Object)란?: 사전적인 정의로는, 실제로 존재하는 것. 사물 또는 개념객체 지향 프로그래밍(OOP)에서의 객체란, 클래스가 실제로 구현된 인스턴스 .즉, 클래스를 인스턴스화한 것(쉽게 말하자면, 객체 = instance 변수.. 2025. 1. 15.
[Java] 원시타입(Primitive type)과 참조타입(Reference type) - 용어 정리 # 목적: JAVA의 Data type 알아보기- 원시타입(Primitive type)과 참조타입(Reference type) 구분1. 원시타입(Primitive type)= 기본자료형boolean (true/false)Numeric (숫자)1) Integer (정수형)타입메모리 크기초기값범위byte1byte0-128 ~ 127short2byte0-32768 ~ 32767int4byte0-2,147,483,638 ~ 2,147,483,647long8byte0.L-9223372036854775808 ~ 9223372036854775807char(문자형)2byte'\u0000'ASCII코드 : 0~127 / 유니코드 : 0~655362) Floating-point (실수형)타입메모리 크기초기값float4by.. 2025. 1. 15.