Programming

; develop a program

반응형

Back-End 96

[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

[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] 참조 자료형

이번 포스팅에서는 자바(Java)에서 참조 자료형에 대하여 공부를 해보고자 한다. 참조 자료형이란 자바에는 크기가 정해진 기본 자료형(int, char, float, double 등)으로 선언하는 변수가 있고, 클래스 자료형으로 선언하는 참조 자료형 변수가 있다. 기본 자료형과 참조 자료형의 차이점 기본 자료형은 사용하는 메모리가 정해져 있는 자료형 참조 자료형은 클래스를 타입으로 변수를 선언하는 자료형 참조 자료형 구현 어떤 학생이 국어와 수학 과목을 수강하는데, 시험을 본 후 국어 성적과 수학 성적 정보를 저장하는 프로그램을 만들려고 한다. 우선 다음처럼 학생 클래스를 만들었다. public class Student1 { int studentID; String studentName; int korea..

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
반응형