본문 바로가기

Java

(96)
배열 ( Array ) 배열 (Array)이란?연관된 데이터를 모아서 통으로 관리하기 위해서 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이리고 할 수 있다. 배열의 특징동일한 자료형의 순차적 자료 구조인덱스 연산자[]를 이용하여 빠른 참조가 가능물리적 위치와 논리적 위치가 동일배열의 순서는 0부터 시작 (인덱스라고 한다)자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언와 초기화배열 선언하기int[] arr1 = new int[10];int arr2[] = new int[10];  자료 구조에 대한 개념자료 구조는 데이터를 어떻게 조직화하고 저장하며 접근할지를 결정하는 방법이다. ..
static 메소드 (함수) static 메소드(함수) 란? static 메소드(함수)는 특정 클래스의 인스턴스에 속하지 않고 클래스 자체에 속한다. 따라서 객체를 생성하지 않고도 클래스 이름을 통해 직접적으로 호출할 수 있다. static 메소드는 클래스의 모든 인스턴스가 공유하며, 주로 유틸리티 기능이나 공통 동작을 제공하는데 사용된다. 주요 특징 정리 객체 생성 없이 호출 가능 인스턴스 변수에 접근 불가 💡 static 메소드는 객체의 인스턴스 변수에 직접적으로 접근할 수 없다. 왜냐하면 static 메소드는 객체가 생성되기 전에 호출 될 수 있기 때문에 해당 객체의 상태를 알 수 없기 때문이다. 연습문제. 1. 로또 번호 만들기 - 일단 2개의 번호를 오름차순으로 정렬) package basic.ex13; // 가지고 오다...
static 변수 static 변수란? static 변수는 프로그래밍에서 중요한 개념 중 하나다. 클래스 변수라고도 불리며, 클래스의 모든 인스턴스가 공유할 수 있는 변수이다. 즉, 객체가 동일한 static 변수의 값을 공유한다. 왜 클래스 변수라고 불리는걸까? 우리가 자바 프로그램을 실행하면 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재한다. 그 특성에 따라 영역 등이 존재하는데 그 구성요소들은 아래와 같다. 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할 때 마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때 마다 새로운 사번이 필요한 경우 은행에서 대기표를 뽑을 경우 (2대 이상) package b..
this this의 3가지 사용 방법 인스턴스 (객체) 자신의 메모리를 가리킨다. 생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다. 자신의 주소(참조값, 주소값) 를 반환 시킬 수 있다. package basic.ch11; public class Person { // 변수--> 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(Strin..
접근 제어 지시자 ( Access Modifier ) 접근 제어 지시자 ( access modifier )란?클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 접근 제어 지시자의 종류public : 어디서든 접근이 가능default : 같은 패키지 내에서 접근 가능protected : 상송 배운 이후 다시 설명 해주신다고 함private : 해당 .java 안에서만 접근이 가능💡접근 제어자 - 정보 은닉, 캡슐화객체의 각각의 상태값은 직접 변수를 통해서 변경하는 것이 아닌 기능(행위, 메서드)를 통해서 변경하게 설계해야 하기 때문에 접근 제어 지시자를 사용한다.연습package ch10;public class Bank { String name; int balance; //..
객체 지향 패러다임 객체 지향 패러다임이란? 객체 지향 패러다임(Object-Oriented Paradigm)은 소프트웨어를 설계하고 구현하는 방법론 중 하나로 실세계에 객체를 모델링하여 소프트웨어의 복잡성을 관리하고 고드의 재사용성을 높이는 데 중점을 둔다. 이 패러다임의 핵심은 프로그램을 상호작용하는 객체들의 집합으로 보고, 각 객체는 자신의 데이터와 행위를 갖는 독립적인 엔티티로 취급하는 것이다. 엔티티(Entity)는 특정 속성과 행동을 가진 독립적인 단위 또는 객체를 의미한다. 객체 지향 패러다임의 주요 원칙 ● 캡슐화(Encapsulation) : 객체는 데이터(변수)와 그 데이터를 조작하는 함수(메서드)를 하나로 묶는다. 이를 통해 데이터 구조와 데이터를 조작하는 방법을 결합하여 데이터의 추상화를 가능하게 하고..
생성자 ( Constructor ) 기본 생성자생성자 (Constructor)는 클래스의 인스턴스, 즉 객체를 생성할 때 호출되는 특별한 유형의 메서드이다.객체의 초기화를 담당하여, 객체가 올바르게 사용될 수 있도록 필요한 값들을 설정하고, 필요한 초기화 코드를 실행한다. 생성자의 주요 특징생성자의 이름은 클래스의 이름과 동일해야 한다.생성자는 반환 타입을 가지지 않으며, 심지어 void 도 사용하지 않는다.객체 생성 시 new 키워드와 함께 자동으로 호출된다.생성자는 기본 생성자와 사용자 정의 생성자로 구분할 수 있다.기본 생성자 (default constructor)클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다.클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출 할 수 있다.클래스에..
RunTime Data Area 프로그램이 실행되면 메모리를 할당 받는다. 인스턴스 생성과 힙 메모리 인스턴스 (instance) 클래스는 객체의 속성을 정의하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 이다. 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버변수 값을 가지게 된다. 가령 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년 등의 값을 가지게 된다. new 키워드와 생성자를 사용하여 인스턴스 생성 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory)에 할당됨 C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 됨 (free나 delete 이용) 자바에서 gabage Collector 가 주기적으로 사용하지 않는 메모리를 수거함 하나의 클래스로부터 여..

728x90