Programming

; develop a program

반응형

자바 27

[Java] 상속에서 클래스 생성과 형 변환

하위 클래스가 생성될 때는 상위 클래스의 생성자가 먼저 호출된다. 상속 관계에서 클래스의 생성과정을 보면 하위 클래스가 상위 클래스의 변수와 메서드를 사용할 수 있는 이유와 하위 클래스가 상위 클래스의 자료형으로 형 변환을 할 수 있는 이유를 이해할 수 있다. 이번 포스팅에서는 자바(Java)에서 상속의 클래스 생성과 형 변환에 대하여 공부를 해보고자 한다. 상속에서의 클래스 생성 상속을 받은 하위 클래스는 상위 클래스의 변수와 메서드를 사용할 수 있다. 변수를 사용할 수 있다는 것은 그 변수를 저장하고 있는 메모리가 존재한다는 뜻이다. 상위 클래스를 상속받은 하위 클래스가 생성될 때는 반드시 상위 클래스의 생성자가 먼저 호출된다. 그리고 상위 클래스 상성자가 호출될 때 상위 클래스의 멤버 변수가 메모리..

Back-End/Java 2023.02.05

[Java] 상속(inheritance)

이번 포스팅에서는 자바(Java)에서 상속(inheritance)에 대하여 공부를 해보고자 한다. 상속이란 상속이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 말한다. 이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나다. 상속은 일반적으로 무엇을 물려받는다는 의미인데, 객체 지향 프로그램에서도 같은 의미를 갖는다. 예를 들어 B클래스가 A클래스를 상속받으면 B 클래스는 A 클래스의 멤버 변수와 메서드를 사용할 수 있다. 객체 지향 프로그램은 유지보수하기 편하고 프로그램을 수정하거나 새로운 내용을 추가하는 것이 유연한데, 그 기반이 되는 기술이 상속이다. 클래스의 상속 B 클래스가 A 클래스를 상속받는다고 할 때 다음과 같은 그림으..

Back-End/Java 2023.02.05

[Java] 배열 응용 프로그램

이번 포스팅에서는 자바(Java)에서 ArrayList를 사용해 배열 응용프로그램을 구현해보고자 한다. 배열 응용 프로그램 ArrayList를 사용하여 학생 성적 출력 프로그램을 구현해보고자 한다. 이 프로그램은 Student 클래스와 Subject 클래스를 사용한다. 만약 어떤 학생이 10과목을 수강한다면 Subject 클래스형을 자료형으로 선언한 변수가 10개 필요할 것이다. 다른 학생은 3과목을, 또 다른 학생은 5과목을 수강할 수도 있다. 이러한 경우에는 배열을 사용하여 프로그램을 구현하는 것이 좋다. Student 클래스 구현 import java.util.ArrayList; public class Student { int studentID; String studentName; ArrayList..

Back-End/Java 2023.02.05

[Java] ArrayList 클래스

이번 포스팅에서는 자바(Java)에서 ArrayList 클래스에 대하여 공부를 해보고자 한다. 기존 배열의 단점과 ArrayList 기본 배열의 단점 항상 프로그램에서 사용하려면 항상 배열 길이를 정하고 시작한다. 배열을 사용하는 중에는 배열 길이를 변경할 수 없기 때문에 코드를 수정해야 한다. 배열은 중간에 있는 요소를 비워 둘 수 없으므로 배열 요소 위치를 변경해야 한다. ArrayList 클래스 ArrayList는 자바에서 객체 배열을 좀 더 쉽게 사용할 수 있도록 제공하는 객체 배열 클래스를 말한다. 객체 배열을 관리할 수 있는 멤버 변수와 메서드를 제공하므로 사용 방법만 알아 두면 편리하게 사용할 수 있다. ArrayList 클래스와 주요 메서드 ArrayList 클래스에는 이미 만들어져 있는 ..

Back-End/Java 2023.02.04

[Java] 다차원 배열

이번 포스팅에서는 자바(Java)에서 다차원 배열에 대하여 공부를 해보고자 한다. 다차원 배열이란 이차원 이상으로 구현한 배열을 다차원 배열이라고 한다. 수학에서 평면을 나타내기 위해 x, y 좌표를 쓰는 것처럼 프로그램에서도 평면을 구현하기 위해 이차원 배열을 사용할 수 있다. 삼차원 이상의 배열도 가능한데, 삼차원 배열은 주로 공간을 나타내는 프로그램에서 활용한다. 다차원 배열은 평면이나 공간 개념을 구현하는 데 사용한다. 이차원 배열 다음은 이차원 배열을 선언하는 코드와 논리구조다. 배열의 모든 요소를 참조하려면 각 행을 기준으로 열 값을 순회하면 된다. 이차원 배열을 초기화하려면 다음처럼 행과 열 개수에 맞춰서 중괄호 { } 안에 콤마(,)로 구분해 값을 적는다. 이차원 배열을 초기화하면 괄호 안..

Back-End/Java 2023.02.04

[Java] 배열(Array)

이번 포스팅에서는 자바(Java)에서 배열(Array)에 대하여 공부를 해보고자 한다. 배열이란 배열은 자료가 연속으로 나열된 자료구조를 말하며, 자료구조의 가장 기초 내용이다. 배열을 사용하면 자료형이 같은 자료 여러 개를 한 번에 관리할 수 있다. 자료구조(data structure) 데이터를 어떻게 관리하면 좋은지 공부하는 분야 예를 들어 학생 100명의 학번을 관리해야 할 때, 학번의 자료형을 정수라 하면 int studentID1, int studentID2, ··· , int studentID100과 같이 변수 100개를 선언해서 사용해야 한다. 학번에 대한 여러 개 변수를 일일이 쓰는 것은 너무 번거롭기 때문에 배열을 사용한다. 배열 선언과 초기화 배열을 사용하려면 먼저 배열을 선언해야 한다..

Back-End/Java 2023.02.04

[Java] 싱글톤 패턴(singleton pattern)

이번 포스팅에서는 자바(Java)에서 싱글톤 패턴(singleton pattern)에 대하여 공부를 해보고자 한다. 싱글톤 패턴이란 싱글톤 패턴이란 여러 디자인 패턴 종류 중 하나로, 객체지향 프로그램에서 인스턴스를 단 하나만 생성하는 패턴을 말한다. static을 응용하여 프로그램 전반에서 사용하는 인스턴트를 구현하는 방식으로, 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 어디에서든 공유하며 접근, 사용할 수 있다. 싱글톤 패턴은 실무나 여러 프레임워크에서 많이 사용된다. 디자인 패턴(design pattern) 객체 지향 프로그램을 어떻게 구현해야 좀 더 유연하고 재활용성이 높은 프로그램을 만들 수 있는지를 정리한 내용 (간단히 말해 프로그램 특성에 따른 설계 유형을 이론화한 내용) ..

Back-End/Java 2023.02.03

[Java] 변수 유효 범위

이번 포스팅에서는 자바(Java)에서 변수 유효 범위에 대하여 공부를 해보고자 한다. 변수 유효 범위란 변수는 어디에 어떻게 선언되느냐에 따라 유효 범위(scope)가 달라진다. 지역 변수(로컬 변수, local variable): 함수나 메서드 안에서만 사용할 수 있는 변수 멤버 변수(인스턴스 변수, instance variable): 클래스 안에서 사용하는 변수 static 변수(클래스 변수, class variable): 여러 인스턴스에서 공통으로 사용할 수 있는 변수 지역 변수의 유효 범위 함수나 메서드 내부에 선언하기 때문에 함수 밖에서는 사용할 수 없다. 하나의 함수에 선언한 지역 변수는 다른 함수에 사용할 수 없다. 지역 변수가 생성되는 메모리를 스택(stack)이라고 한다. 스택에 생성되는..

Back-End/Java 2023.02.03

[Java] static 변수

이번 포스팅에서는 자바(Java)에서 static 변수에 대하여 공부를 해보고자 한다. static 변수란 static 변수는 클래스에서 공통으로 사용하는 변수를 선언할 때 사용되며, 다른 용어로 '정적 변수'라고도 한다. 클래스 내부에서 선언하지만, 다른 멤버 변수처럼 인스턴스가 생성될 때마다 새로 생성되는 변수는 아니다.. 변수를 선언할 때 다음과 같이 자료형 앞에 static 예약어를 사용한다. static 변수는 프로그램이 실행되어 메모리에 올라갔을 때 딱 한 번 메모리 공간이 할당되고, 그 값은 모든 인스턴스가 공유한다. 일반 멤버 변수는 인스턴스가 생성될 때마다 새로 생성된다. (각각 다른 값을 가진다.) static으로 선언한 변수는 인스턴스 생성과 상관없이 먼저 생성되고 그 값을 모든 인스..

Back-End/Java 2023.02.03

[Java] 객체 간 협력

객체 지향 프로그램은 객체를 정의하고 객체 간 협력으로 만든다. 이번 포스팅에서는 자바(Java)에서 객체의 협력이 어떻게 이루어지는지에 대하여 공부를 해보고자 한다. 객체 지향 프로그램 구현 학생이 학교에 가기 위해 수행하는 여러 과정을 객체 지향 프로그램으로 만들어보려 한다. 학생 클래스 구현 public class Student { public String studentName;// 학생 이름 public int grade;// 학년 public int money;// 학생이 가지고 있는 돈 public Student(String studentName, int money) { // 이름과 돈 초기화하기 this.studentName = studentName; this.money = money; } ..

Back-End/Java 2023.02.02
반응형