Programming

; develop a program

반응형

공부 118

[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] 배열(Array)

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

Back-End/Java 2023.02.04

[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

[Java] this 예약어

이번 포스팅에서는 자바(Java)에서 this 예약어에 대하여 공부를 해보고자 한다. this 예약어 this란 간단히 설명하면 생성된 인스턴스 스스로를 가리키는 예약어를 말한다. 이 외에도 다른 역할로 this를 사용할 수 있다. 자신의 메모리를 가리키는 this 생년월일을 의미하는 BirthDay 클래스를 만들고, this를 출력하는 메서드를 추가한다. class BirthDay { int day; month; int year; public void setYear(int year) {//태어난 연도를 지정하는 메서드 this.year = year; } public void printThis() {//this 출력 메서드 System.out.println(this); } } public class Th..

Back-End/Java 2023.02.02

[Java] 정보 은닉(Information Hiding)

이번 포스팅에서는 자바(Java)에서 정보 은닉(Information Hiding)에 대하여 공부를 해보고자 한다. 정보 은닉 정보 은닉이란 객체지향에서 사용되는 용어로 클래스 내부에서 사용할 변수나 메서드를 private으로 선언해서 외부에서 접근하지 못하는 것을 말한다. 자바에서는 접근 제어자를 사용하여 정보 은닉을 구현한다. 모든 변수를 private으로 선언해야 하는 것은 아니지만, 필요한 경우에는 private으로 선언하여 오류를 막을 수 있다. 자바에서 사용하는 접근 제어자 접근 제어자 설명 public 외부 클래스 어디에서나 접근할 수 있다. protected 같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 잇고 그 외 클래스에서는 접근할 수 없다. 아무것도 없는 경우 default이..

Back-End/Java 2023.02.01

[Java] 생성자(Constructor)

이번 포스팅에서는 자바(Java)에서 생성자(Constructor)에 대하여 공부를 해보고자 한다. 생성자란 생성자는 간단하게 얘기하면 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스 변수의 초기화 작업에 사용되고, 인스턴스 생성 시에 실행되어야 할 작업을 위해서 사용된다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없기 때문에 void 또한 사용하지 않는다. 생성자는 몇 가지 특징을 제외하면 메서드와 다르지 않다. 생성자는 메서드처럼 클래스 내에 선언되고, 오버 로딩이 가능하므로 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. Person 생성자 만들기 public class Person { String name; float height; fl..

Back-End/Java 2023.02.01

[Java] 클래스와 인스턴스

이번 포스팅에서는 자바(Java)에서 클래스와 인스턴스에 대하여 공부를 해보고자 한다. 클래스 사용과 main( ) 함수 클래스를 사용하여 프로그램을 실행하려면 먼저 main( ) 함수를 알아야 한다. main( ) 함수는 자바 가상 머신(Java Virtual Machine; JVM)이 프로그램을 시작하기 위해 호출하는 함수이다. 클래스 내부에 만들지만, 클래스의 메서드는 아니다. main( ) 함수에서 클래스를 사용하는 방법 생성한 클래스 내부에 main( ) 함수를 만드는 것 외부에 테스트용 클래스를 만들어 사용하는 것 클래스 내부에 main( ) 함수를 만드는 경우 클래스 내부에 main( ) 함수를 만들면 이 클래스가 프로그램의 시작 클래스가 된다. 클래스가 제대로 수행되는지 알아보기 위해 클래..

Back-End/Java 2023.01.31

[Java] 메서드(Method)

이번 포스팅에서는 자바(Java)에서 함수(function)의 한 종류인 메서드(Method)에 대하여 공부를 해보고자 한다. 메서드(Method) 자바에서 클래스는 멤버(member)로 속성을 표현하는 필드(field)와 기능을 표현하는 메서드(method)를 가진다. 그중에서 메서드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다. 클래스에서 메서드를 작성하여 사용하는 이유 중복되는 코드의 반복적인 프로그래밍을 피할 수 있다. 모듈화로 인해 코드의 가독성도 좋아진다. 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때, 손쉽게 유지보수를 할 수 있다. 메서드를 작성할 때는 되도록 하나의 메서드가 하나의 기능만을 수행하도록 작성하는 것이 좋습니다. 메서드는 함수(fun..

Back-End/Java 2023.01.31
반응형