| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- singlrton pattern
- 이클립스
- html
- Collection Framework
- Eclipse
- 클래스
- java
- 오류
- 컬렉션 프레임워크
- Map 인터페이스
- Method
- 해결
- 자바
- 깃허브
- 패키지
- 인터페이스
- CSS
- 메서드
- 이클립스 설치
- 깃
- Git
- Collection 인터페이스
- 싱글톤 패턴
- Class
- 버전관리
- GitHub
- Today
- Total
목록Java (20)
함께 일하고 싶은 PM이 되기 위한 승애의 끊임없는 학습 일지 💗
안루피취뽀일기
자료를 순차적으로 관리하는 구조, 배열 학교에 학생이 100명있다. 이 학생들 100명의 학번을 어떻게 관리할 수 있을까? 학번의 자료형을 정수라고 하면 학생이 100명일 때 int studentID1, int studentID2, int studentID3, ..., int studentID100 이렇게 변수 100개를 선언해서 사용해야 한다. 그런데 학번에 대한 여러 개 변수들을 일일이 쓰는 것은 너무 귀찮고 번거롭다. 이때 사용하는 자료형이 배열(array)이다. 배열은 자료 구조의 가장 기초 내용이다. 배열을 사용하몀 자료형이 같은 자료 여러 개를 한 번에 관리할 수 있다. 위 그림으로 알수 있다시피 배열은 자료가 연속적으로 나열된 자료 구조이다. 배열의 선언과 초기화 배열을 사용하려면 먼저 배열..
싱글톤 패턴이란? 프로그램을 구현하다 보면 여러 개의 인스턴스가 필요한 경우도 있고 단 하나의 인스턴스만 필요한 경우도 있다. 객체 지향 프로그램에서 인스턴스를 단 하나만 생성하는 디자인 패턴을 싱글톤 패턴(singleton pattern)이라고 한다. 우리가 여기서 살펴볼 싱글톤 패턴은 static을 응용하여 프로그램 전반에서 사용하는 인스턴스를 하나만 구현하는 방식이다. 실무나 여러 프레임워크에서 많이 사용하는 패턴이므로 내용을 잘 익혀 두면 나중에 싱글톤 패턴을 응용하여 프로그램을 구현할 수 있을 것이다. *프레임워크(framework)란 프로그램을 쉽게 개발하기 위해 구체적인 기능 설계와 구현을 미리 만들어 놓은 도구를 말한다. 어떤 회사의 직원들을 객체 지향 프로그램으로 구현한다고 가정하자. 직..
변수 유효 범위란? 지금까지 세 가지 종류의 변수를 배웠다. 첫 번째는 함수나 메서드 안에서만 사용할 수 있는 지역 변수(local variable), 클래스 안에서 사용하는 멤버 변수(instance variable), 그리고 여러 인스턴스에서 공통으로 사용할 수 있는 static 변수(class variable)이다. 변수는 어디에 어떻게 선언되느냐에 따라 유효 범위가 달라진다. 지역 변수의 유효 범위 지역 변수는 함수나 메서드 내부에 선언하기 때문에 함수 밖에서는 사용할 수 없다. 즉 하나의 함수에 선언한 지역 변수는 다른 함수에서 사용할 수 없다. 지역 변수가 생성되는 메모리를 스택(stack)이라고 한다. 스택에 생성되는 지역 변수는 함수가 호출될 때 생성되었다가 함수가 반환되면 할당되었던 메모..
변수를 여러 클래스에서 공통으로 사용하려면? 학생 클래스를 보자. public class Student { int studentID; String studentName; int grade; String address; } 학생 클래스를 사용하면 여러 학생의 인스턴스를 만들 수 있다. 그리고 학생마다 고유한 학번(studentID)를 가지는데, 학생이 입학하면(클래스가 생성되면) 학번이 자동으로 생성되도록 만들고 싶다. 생성된 인스턴스는 학번을 순서대로 가져와야 한다. 이때 어떻게 학생에게 학번을 부여할 수 있을까? 이 경우에 각 인스턴스마다 따로 생성되는 변수가 아닌, 클래스 전반에서 공통으로 사용할 수 있는 기준 변수가 있어야 한다. 그리고 학생이 한 명 생성될 때마다 기준 변수 값을 하나씩 증가시켜 ..
객체 지향 프로그램은 객체를 정의하고 객체 간 협력으로 만든다. 그러면 실제로 객체의 협력이 어떻게 이루어지는지 살펴보자. 학생이 버스나 지하철을 타고 학교에 가는 것을 객체 지향으로 프로그래밍 해보자. 여기에서는 학생, 버스, 지하철 이렇게 세 객체를 만들고 이들 사이에 어떻게 협력이 이루어지는지 살펴보자. 학생 클래스 구현하기 학생 클래스는 '이름', '학년', '가진 돈'을 멤버 변수(속성)로 가진다. 그리고 '버스를 탄다', '지하철을 탄다', '학생의 현재 정보를 보여준다'를 메서드(멤버 함수)로 가진다. package cooperation; public class Student { public String studentName; //학생 이름 public int grade; //학년 publi..
자신의 메모리를 가리키는 this this는 간단히 설명하면 생성된 인스턴스 스스로를 가리키는 예약어이다. 이 외에도 다른 역할로 this를 사용할 수 있다. 예제를 통해 살펴보자. 생년월일을 의미하는 BirthDay 클래스를 만들고, this가 실제로 어떤 의미인지 알기 위해 this를 출력하는 메서드를 추가해보자. package thisex; class BirthDay { int day; int month; int year; //태어난 연도를 지정하는 메서드 public void setYear(int year) { this.year = year; //bDay.year = year;와 같음 } //this 출력 메서드 public void printThis() { System.out.println(th..
접근 제어자 살펴보기 객체 지향 프로그램에서는 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있다. 이러한 예약어를 '접근 제어자(access modifier)'라고 한다. Student.java 코드의 모든 변수에는 public 예약어가 있다. public이라고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 뜻이다. 반대로 접근 제어자를 private으로 선언한 변수나 메서드는 외부 클래스에서 사용할 수 없다. 다음 예제에서 변수를 private으로 선언하면 결과 값이 어떻게 바뀌는지 알아보자. package hiding; public class Student { int studentID; //studentName 변수를 p..
참조 자료형이란? 크기가 정해진 기본 자료형(int, char, float, double 등)으로 선언하는 변수가 있고, 클래스 자료형으로 선언하는 참조 자료형 변수가 있다. 참조 자료형 변수의 특징에 대해 좀 더 자세히 살펴보고, 클래스를 선언하여 참조형을 이용한 프로그램을 구현해보자. 어떤 학생이 있다. 이 학생이 국어와 수학 과목을 수강하는데, 시험을 본 후 국어 성적과 수학 성적 정보를 저장하는 프로그램을 만든다고 생각해보자. 객체 지향 프로그래밍을 시작할 때는 일단 클래스를 어떻게 만들지 생각한다. 먼저 클래스가 제공해야 할 멤버 변수와 메서드를 생각해볼 수 있다. 이를 바탕으로 다음처럼 학생 클래스를 만들어 보았다. package reference; public class Student1 { ..