혹은 객체지향 프로그래밍의 특징 데이터와 코드의 형태를 외부로부터 알 수 없게한다.데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만든다.한 곳에서 변화가 일어나도 다른 곳에 미치는 사이드 이펙트를 최소화시킨다. 즉, 객체 내부의 어떤 동작에 대한 구현이 어떻게 되어
소스(source) : 사람이 프로그래밍 언어를 작성한 내용 컴파일러(compiler) : 소스파일은 컴파일러(소프트웨어)를 거쳐 기계어로 변환 프로그램(program) : 컴퓨터에 특정 목적을 수행시키기 위한 프로그래밍 언어로 작성된 소스 자바의 특징 >- 이
OOP 객체 지향 프로그래밍 Object-Oriented Programming 문제를 여러 개의 독립된 단위인 '객체' 단위로 나누어 만들고 하나씩 조립, 연결하여 (각각의 객체들은 유기적으로 상호작용) 전체의 프로그램을 완성하는 방식이다. 명령어의 나열 순서대로 작동
객체지향 프로그램은 클래스를 기반으로 프로그래밍한다. 클래스는 객체의 속성과 기능을 코드로 구현한 것이다. 객체를 클래스로 구현하는 것을 '클래스를 정의한다'라고 한다.클래스 이름은 항상 대문자로 시작한다. 코딩 컨벤션 (암묵적 규칙)객체 자료형 또는 참조 자료형이라고
메모리에 생성된 인스턴스를 가리키는 변수참조 변수를 사용하면 인스턴스의 멤버 변수와 메서드를 참조하여 사용할 수 있는데 이때 도트연산자(.)를 이용한다.힙(heap)은 프로그램에서 사용하는 동적 메모리(dynamic memory) 공간을 말한다. 일반적으로 프로그램은
new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드(하지만 메소드와는 다르다.)클래스를 처음 만들 때 멤버 변수나 상수를 초기화하는 역할을 한다."클래스();"는 생성자를 호출하는 의미이다.위 예제에서, 자바에서 클래스를
☕ 참조 자료형(Reference data type) 📍 기본 자료형과 참조 자료형의 차이점 기본 자료형 : 사용하는 메모리가 정해져있는 자료형이다. ex) int, long, float, double 등 참조 자료형 : 클래스를 타입으로 변수를 선언하는 자료형
객체지향에서 클래스 내부에서 사용할 변수나 메서드를 private으로 선언해 외부에서 접근하지 못하도록 하는 것이클립스 get(), set() 자동 생성 단축키 : Alt + Shift + sstudentName 멤버 변수에 이름 값을 직접 대입하는 것이 아니고 set
☕ Static이란? * = 정적인*, 움직이지 않는 즉, 메모리에 고정적으로 할당되어 프로그램이 종료될 때 해제되는 변수나 함수에 쓰는 키워드이다. 📌 static 사용의 장점 >1. 고정 메모리이므로 효율적으로 메모리를 사용할 수 있다. 객체를 생성하지 않고 사
지역 변수(로컬 변수, local variable)멤버 변수(인스턴스 변수, instance variable)static 변수(클래스 변수, class variable)위 표를 글로 정리해보겠습니다!로컬 변수라고도 합니다.스택(stack) 메모리에 생성됩니다.지역 변수
싱글톤 패턴에 대해 배워보았습니다. 이번 포스팅에서는 그 내용을 쉽고 간결하게 정리해보도록 하겠습니다. 🤩 싱글톤이 뭐야? singleton의 사전적 정의는 '단독 개체' 입니다. > 싱글톤 패턴이란 프로그램 시작과 종료까지 클래스의 인스턴스를 최초 한 번만 생성
동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉, 연관된 데이터를 그룹화하여 묶어준다고 생각하면 된다.
객체 배열의 깊은 복사, 얕은 복사, 향상된 for문에 대해 알아봅니다.
👪상속(Inheritance)이란? 여러 개체들이 지닌 공통된 특성틀 부각시켜 하나의 개념이나 법칙으로 성립하는 과정 (일반화) >- 기존 상위클래스의 기능을 가져와 재사용을 할 수 있고, 상속 받은 하위 클래스에 새로운 기능도 추가할 수 있다. 코드의 중복을 없
추상화의 개념, 추상 클래스의 의미, 사용 목적, 추상 메서드에 대해 알아봅니다!
하나의 값을 저장할 수 있는 메모리 공간변수를 사용한다는 것은 변수에 값을 저장하고 읽는 행위를 말합니다. 변수는 프로그래밍시 계산이 길어지거나 같은 숫자값이 반복될 때, 효율을 위해 사용됩니다.결론적으로, 변수는 값을 가질 수 있습니다. 또, 변수를 선언하고 값을 할
시작하며...🏃🏻♀️ 📍 자바에서는 모든 변수에 타입을 정의하고 있으며, 변수가 가지는 타입에 따라 담을 수 있는 값의 종류가 달라집니다. 변수 타입과 값은 서로에게 상호보완적인 요소입니다. 📍 변수 타입은 크게 기본형(primitive), 참조형(Refer
📍 배열(Array)란? > 동일한 자료형(Data type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 서로 다른 값들이 배열에 들어가 하나의 변수로 처리된다. 많은 양의 데이터를 다룰 때 유용함 변수가 메모리에 연속적으로 저장되기 때문에 처리속도가
if 조건문이 참인 경우에는 명령문을 실행한다. 거짓인 경우 명령문을 실행하지 않고 넘어간다. (조건문이 또 있을경우 다음 조건문 실행)else문은 if문을 통과하지 못했을 때 실행되는 조건문이다.else if문을 이용해 다중 조건을 걸 수 있다.📍 예제변수나 연산식
자바가상머신(Java Virtual Machine)의 약자자바프로그램을 컴파일해서 나온 결과인 바이트코드를 실행시킨다. \- 가비지 컬렉터 GC를 통해 어플리케이션의 동적 메모리를 관리한다.자바런타임환경(Java Runtime Environment)의 약자JVM을 동
✏️ 클래스(Class)란? >- Java에서 객체를 생성하기 위한 일종의 설계도 혹은 틀 연관된 변수와 메서드의 집합 ✏️ 객체(Object)란? >- 소프트웨어 세계에 구현할 대상 클래스에 선언된 모양 그대로 생성된 실체 객체는 `속성과 기능`으로 구성되어 있
✏️ 객체지향언어(OOP) object-oriented programming >프로그램(실제세계)를 객체(사물)라는 기본 단위로 나누고, 각 객체들간의 상호작용을 기본개념으로 합니다. 다시 말해, 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의
부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리입니다.유지보수가 쉽다: 개발자가 여러 객체를 하나의 타입으로 관리할 수 있기 때문에 관리가 편리하고 유지보수가 용이합니다.재사용성 증가: 코드를
상위 클래스의 메서드를 하위 클래스가 재정의 하는 것상속 받은 메서드의 내용만 변경, 확장메서드의 이름은 같고, 매개변수의 타입이 다른 함수를 정의함기존에 없던 새로운 메서드를 정의하는 것, 재정의
정적이라는 의미로, 고정된이란 뜻을 가짐.Static 키워드를 이용해 Static 변수와 Static 메소드를 만들 수 있다.이 둘을 정적 멤버, 클래스 멤버라고도 한다.정적 멤버는 인스턴스에 소속된 멤버가 아니라 클래스에 고정된 멤버다.Static 영역에 할당된 메모
메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다.중복되는 코드의 반복적인 프로그래밍을 피할 수 있습니다.프로그램에 문제가 발생하거나 기능의 변경이 필요할 때 손쉽게 유지보수를 할 수 있습니다.메소드를 작성할 때는 되도록 하나의 메소드에 하나의 기능만을 구현
상속관계에 있는 클래스 사이에서는 기본형 변수처럼 참조변수도 형변환이 가능하다.(자손타입 -> 조상타입, 조상타입->자손타입만 가능. 형제관계는 형변환이 불가능하다!)바로 윗 조상이나 자손이 아닌 조상의 조상으로도 형변환이 가능하다. 따라서 모든 참조변수는 모든 클래스
✏️ 객체 배열 객체 배열은 자료 값을 담는 기본 자료형 배열과는 다르게 객체를 담는 배열입니다. 여기서 객체는 생성자를 통해 만드는 인스턴스를 뜻함. 단 기본 자료형이 직접 값을 메모리에 담는 것과는 다르게 객체 배열은 인스턴스를 직접 메모리에 기억하는 것이 아닌
✏️ 클래스 메소드(static 메소드) >- staic이 붙은 메소드 >- 클래스로 객체를 생성하지 않아도 호출이 가능한 메소드다. 해당 메소드가 정의되어 있는 클래스의 이름이나 생성된 객체를 통해 호출할 수 있다. 📍 특징 클래스 메소드는 메소드가 정의된 클래
✏️ 예외처리(Exception) >정의 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 >목적 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지합니다. 예외는 error의 일종이며, 예외 발생시 시스템 및 프로그램 불능상태를 야
✏️ 인터페이스(interface) > 인터페이스(interface)란 객체를 어떻게 구성해야 하는지 정리한 설계도이다. 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제한다. 자바에서는 인터페이스를 통해 다중 상속을 지원한다. (클래스를 통한 다중상속은
✏️ LocalDate > yyyy-MM-dd ✏️ LocalTime >HH:mm:ss ✏️ LocalDateTime >yyyy-MM-ddTHH:mm:ss
ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인덱스는 0부터 시작합니다.배열과의 차이점은 배열의 크기는 고정인 반면 ArrayList는 크기가 가변적으로 변하는 동적 배열입니다.
✏️ Map 맵은 `키(Key)와 값(Value)` 두 쌍으로 데이터를 보관하는 자료구조다. 키는 맵에 오직 유일하게 있어야합니다. ✏️ HashMap HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있다. 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보...
✏️ Object 클래스 모든 자바 클래스의 최고 조상 클래스 java.lang 패키지 중에서도 가장 많이 사용된다. toString() : 해당 인스턴스에 대한 정보를 문자열로 반환 equals() : 해당 인스턴스를 매개변수로 전달받는 참조 변수와 비교하
✏️ 내부 클래스 내부 클래스는 클래스 내에 선언된 클래스다. 두 클래스가 서로 긴밀한 관계에 있을 때 내부 클래스를 사용한다. ` 📍 장점 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. 외부에서 내부 클래스에 접근할 수 없으므로 코드의 복잡성을