일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- /
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- Today
- Total
목록프로그래밍 언어/Java (13)
개발자 데뷔!
싱글톤은 '디자인 패턴(;Design pattern)' 의 한 종류이다. 디자인 패턴 : 객체지향 프로그램을 더욱 유연하고 재활용성 높도록 리팩토링하는 패턴. 방법론의 일종이고, 여러 종류가 있다. 싱글톤은 자주 쓰이는 디자인 패턴 중 하나다. 싱글톤 패턴 : 인스턴스를 단 하나만 생성하는 디자인 패턴. static으로, 프로그램 전반에서 사용하는 인스턴스를 하나만 구현한다. 싱글톤 패턴 만들기 싱글톤 패턴을 만드는 방법은 간단히 다음과 같다. 1. 생성자를 private으로 만든다. 2. 클래스 내부에 static으로 유일한 인스턴스를 생성한다. 3. 유일한 인스턴스를 외부에서 참조할 public메서드를 만든다. 4. 실제 사용시, 3번의 public 메서드를 사용해 접근한다. - (1) 기본 생성자는..
변수의 종류 & 유효범위(scope) 변수유형 선언위치 사용범위 메모리 생성과 소멸 지역변수 (local변수) 함수 내부에 선언 함수 내부에서만 스택 함수 호출시 생성, 함수 끝날시 소멸 멤버변수 (instance 변수) 클래스 멤버변수로 선언 클래스 내부 & private이 아닐 경우 다른 클래스 포함 (with 참조변수) 힙 인스턴스 생성 시 생성, '가비지 컬렉터'가 메모리 수거시 소멸 static변수 (class 변수) 클래스 내부에 (static 예약어)로 선언 클래스 내부 & private이 아닐 경우 다른 클래스 (with 클래스 이름) 데이터 프로그램 첫 시작시 생성, 프로그램 끝나고 메모리 해제 시 소멸 지역변수는 선언한 메서드 내부 에서만 사용할 수 있지만, 멤버변수는 클래스의 어느 메..
static 변수 = 정적변수 = 클래스변수 static - '클래스변수(class variable)' 라고도 함 - 클래스 전반에서 공통으로 사용할 수 있는 기준변수 - 각 인스턴스마다 따로 생성되는 변수가 아님 - ex) 학생 인스턴스마다 학번을 자동생성 static 쓰임 - 클래스 내부에 선언. - 변수 선언 시, 자료형 앞에 static 예약어를 사용한다. static예약어 자료형 변수이름 static int studentNum; static 의 메모리할당 ★ ★ ★ - Data 영역에 할당된다!! (ex) 인스턴스 = heap 영역 / 참조변수 = stack 영역) - 즉, 프로그램 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. (Data 영역의 특징) - 프로그램이 실행되어 메모리에 올..
Student 학생의 객체가, Bus, Subway 두개의 객체와 상호작용하며, 이를 TakeTrans 클래스의 main 함수로 사용하는 과정을 예제로 표현한 것이다. 1. Student package cooperation; public class Student { public String studentName; // 학생 이름 public int grade; // 학년 public int money; // 학생이 가지고 있는 돈 // 생성자 public Student(String studentName, int money) // 이름과 돈 초기화하기 { this.studentName = studentName; this.money = money; } // 메서드1 public void takeBus(Bus..
this : 생성된 인스턴스 스스로를 가리키는 예약어 this는 크게 다음 세가지 역할로 쓰임을나눌 수 있다. 1. 자신의 메모리를 가리키는 this 2. 생성자에서 다른 생성자를 호출하는 this 3. 자신의 주소를 반환하는 this 보통 1번의 경우로 가장 많이 쓰이지만, 예제와 함께 알아두자. 1. 자신의 메모리를 가리키는 this 클래스 코드에서 사용하는 this는, 생성된 인스턴스 자신을 가리킨다. ex) package thisex; class BirthDay{ int day; int month; int year; public void setYear(int year) { this.year = year;// bDay.year = year 와 동치 } public void printThis() { ..
정보은닉 ; information hiding 접근제어자(private, public)을 통해 이루어짐 접근 제어자 : (access modifier) 객체지향 프로그램에서는, 예약어를 사용해 클래스 내부의 변수, 메서드, 생성자 등에 대한 접근권한을 지정할 수 있다. 접근제어자의 종류 접근 제어자 설명 public 외부 클래스 어디에서나 접근(변경) 가능 private 같은 클래스 내부에서만 접근(변경) 가능 (외부클래스 X) protected 같은 패키지 내부 & 상속관계의 클래스 에서만 접근 가능 X (아예 없는경우) (default), 같은 패키지 내부에서만 접근 가능 private은 같은 클래스 내부에서만 접근 가능하기 때문에, 해당 클래스의 외부에서, ~.~.~ ..등 도트연산자(.)를 통한 ..
OOP ; Object-Oriented Programming 객체지향 프로그래밍 지난 번 포스팅에선, 패키지- class - main 함수간의 구조를 개략적으로 살펴보았다. 이번에는, 클래스 사용에 반드시 선행되어야 하는 '인스턴스 생성' 에 관한 부분을 자세히 알아보겠다. 인스턴스 생성 class를 사용하려면, 클래스를 우선 생성해야 한다. 클래스가 생성된다 = 클래스를 사용할 메모리공간(힙메모리)를 할당 받는다. 클래스형 변수이름 = new 생성자 자료형(class) 인스턴스(참조변수) = 예약어(new) 생성자 이 때, 간단히 이렇게 정리할 수 있다. new = 클래스를 생성하는 예약어 인스턴스 = 생성된 클래스 참조변수 = 인스턴스를 가리키는 클래스형 변수 ex) Student A = new St..
OOP ; Object-Oriented Programming 객체지향 프로그래밍 자바는 대표적인 객체지향 프로그래밍 언어이다. 객체지향 프로그램은 클래스를 기반으로 프로그래밍 한다. 자바는, 패키지를 통해 계층구조를 만듦으로써 효율적으로 class를 관리한다. 즉, class이름은 사실, 클래스이름 뿐만이 아니라 package의 경로까지 포함한 것이 진짜 이름이다. 즉, 클래스이름이 같더라도, 패키지 이름이 다르다면, 다른 클래스로 구분한다. CLASS의 기본 구조 (접근제어자) class 클래스이름 { 멤버 변수; 메서드; } 클래스 외부에는, package 선언과 import 외에, 어떠한 것도 선언하지 않는다. class 기본구조 ex) package classpart; public class St..