목록전체 글 (87)
jayden
1. 메서드 오버로딩에 대한 개념을 이해하자.메서드 오버로딩(Overloading)은 같은 이름의 메서드를 여러 개 정의하는 것을 말합니다. 이때 메서드의 시그니처(signature), 즉 메서드 이름과 매개변수의 타입, 개수, 순서가 서로 달라야 합니다. 메서드 오버로딩을 사용하면 같은 기능을 하는 메서드들을 하나의 이름으로 통일할 수 있어 코드의 가독성을 높일 수 있습니다. package basic.ch16;/** * 메서드 오버로딩이란? * 같은 이름의 메서드를 여러 개 * 정의하는 것을 말한다. */public class Calculator { // 덧셈 메서드 생성 public int add(int a, int b) { return a + b; } public double add..

학습 목표 배열을 활용해서 간단한 프로그램을 만들어 보자package basic.ch15;public class BooTest { public static void main(String[] args) { // 배열이란 - 연관된 데이터를 하나의 변수의 통으로 관리하고 싶다면 - 자료구조 // 배열을 사용할때 반드시 크기가 지정되어야 한다. Book[] books = new Book[10]; // 배열에 메모리 공간 선언 books[0] = new Book("플러터UI실전", "김근호"); books[1] = new Book("무궁화꽃이피었습니다", "김진명"); books[2] = new Book("흐르는강물처럼", "파울로코엘료"); books[3] = new Book("리딩으..

1. 자료 구조에 대한 개념을 알아 보자. 자료 구조는 데이터를 어떻게 조직화하고 저장하며 접근할지를 결정하는 방법입니다. 자료 구조의 특징: 효율성: 데이터를 효율적으로 저장, 검색, 삽입, 삭제할 수 있어야 합니다. 추상화: 데이터의 논리적인 구조와 물리적인 구현을 분리하여 추상적으로 정의해야 합니다. 재사용성: 여러 응용 프로그램에서 재사용할 수 있도록 일반적이고 유연한 구조여야 합니다. 자주 사용되는 자료 구조: 배열(Array): 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료 구조입니다. List, Map, Set, 스택, 큐, 트리 등이 있다 2. 배열에 대해 알아 보자. 배열(array)이란 연관된 데이터를 모아서 통으로 관리하기 위해서 사용하는 데이터 타입이다. 변수가 ..

static 메서드(함수)는 특정 클래스의 인스턴스에 속하지 않고 클래스 자체에 속합니다. 따라서 객체를 생성하지 않고도 클래스 이름을 통해 직접적으로 호출할 수 있습니다. static 메서드는 클래스의 모든 인스턴스가 공유하며, 주로 유틸리티 기능이나 공통 동작을 제공하는 데 사용됩니다. 주요 특징 정리 객체 생성 없이 호출 가능 인스턴스 변수에 접근 불가 static 메서드는 객체의 인스턴스 변수에 직접적으로 접근할 수 없습니다. 왜냐하면 static 메서드는 객체가 생성되기 전에 호출될 수 있기 때문에 해당 객체의 상태를 알 수 없기 때문입니다. package basic.ex13; // 가지고 오다. 수입하다. import java.util.Random; public class LottoNumber..

static 변수는 프로그래밍에서 중요한 개념 중 하나입니다. 클래스 변수라고도 불리며, 클래스의 모든 인스턴스가 공유하는 할 수 있는 변수입니다. 즉, 객체가 동일한 static 변수의 값을 공유합니다. 왜 클래스 변수라고 불리는 걸까? 우리가 자바 프로그램을 실행을 하면 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재 합니다. 그 특성에 따라 영역등이 존재 하는데 그 구성요소들은 아래와 같습니다. 메모리 영역(JVM Memory, Runtime Data Area) 공통으로 사용하는 변수가 필요한 경우 ● 여러 인스턴스가 공유하는 기준 값이 필요한 경우 ● 학생마다 새로운 학번 생성 ● 카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여 ● 회사에 사원이 입사할때 마다 새로운..

public class Person { //this의 3가지 사용방법 // 1. this 는 자기 자신을 가리킨다(인스턴스의 주소) // 2. 생성자에 다른 생성자를 호출할 때 사용할 수 있다. // 3. 자신의 주소(참조값, 주소값)를 반환 시킬 수 있다. // 변수--> private private String name; private int age; private String phone; private String gender; // 1. // 생성자 public Person(String name, int age) { // 자신 자신의 멤버 변수 name 외부에서 들어오는 지역 변수 name을 대입 this.name = name; this.age = age; } public Person(String..
접근 제어자 - 정보 은닉, 캡슐화 객체의 각각의 상태값은 직접 변수를 통해서 변경하는 것이 아닌 기능(행위, 메서드)을 통해서 변경하게 설계 해야 한다. 1. 접근 제어 지시자란? 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 접근 제어 지시자에 종류를 알아 보자. public —> 어디에서든 접근 가능 함. default —> 같은 패키지 내에서 접근 가능 protected ← 상속 배운 이후 private —> 해당 .java 안에서만 접근이 가능하다. // 은행 public class Bank { // 아무것도 지정하지 않으면 default 제어 지시자이다. // private 클래스 안에서만 사용이 가능하다. String name; int bal..

1. 객체지향 패러다임이란 뭘까? 객체지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로, 실세계의 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 코드의 재사용성을 높이는 데 중점을 둡니다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것입니다. 💡 "엔티티(Entity)"는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미합니다. 객체지향 패러다임의 주요 원칙 캡슐화(Encapsulation): 객체는 데이터(변수)와 그 데이터를 조작하는 함수(메서드)를 하나로 묶습니다. 이를 통해 데이터 구조와 데이터를 조작하는 방법을 결합하여 데이터의 추상화..
1. 기본 생성자에 대해 알아보자. 생성자(Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드입니다. 객체의 초기화를 담당하며, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행합니다. 생성자의 주요 특징 생성자의 이름은 클래스의 이름과 동일해야 합니다. 생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않습니다. 객체 생성 시 new 키워드와 함께 자동으로 호출됩니다. 생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있습니다. 기본 생성자 (default constructor) ● 클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다. ● 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성..

1. 프로그램이 실행되면 메모리를 할당 받는다. 2.인스턴스 생성과 힙 메모리 인스턴스 (instance) ● 클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 입니다. ● 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됩니다. ● 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됩니다. ● new 키워드와 생성자를 사용하여 인스턴스 생성 힙 메모리 ● 생성된 인스턴스는 동적 메모리(heap memory) 에 할당됨 ● C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 ( free() 난 delete 이용) ● 자바에서 Gabage Collector 가 주기 적으로..