일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 변수
- length
- 생성자
- Interface
- do while문
- Photoshop
- 배열
- if문
- symbol
- switch문
- 형변환
- Singleton
- 상속
- 반복문
- Java
- static
- 클래스
- private
- 메서드
- illustrator
- Overload
- super
- expand
- for문
- Override
- 파라미터
- while문
- 조건문
- 멤버변수
- After effects
- Today
- Total
목록Java (64)
Ms'Note

쓰기와 삭제 기능에 대한 정의를 명시하고 있는 Interface /** * 웹 사이트에서 개발해야 하는 기능의 최소 단위를 규격화한 인터페이스 */ public interface MySite { // 저장기능 public void write(); // 삭제기능 public void delete(); } 무명클래스 형태로 인터페이스 사용하기 일반적인 인터페이스의 사용 방법은 반드시 클래스의 상속 후 메서드를 재정의해야 하지만, 작성된 클래스의 사용이 번번하지 않을 경우 클래스 상속과 객체 생성을 일괄적으로 처리할 수 있다. public class Main02 { public static void main(String[] args) { /* * 무명 클래스 (Anonymous Class) * --------..

Inner Class 클래스 안에 포함된 자식 클래스의 형태로, 일반 클래스와 static 클래스의 형태로 구분된다. 상속의 일종으로 볼 수 있다. /** * Inner Class * ------------------------------------------------------ * 상속과 같이 하나의 클래스에서 파생되는 그룹을 지정하기 위한 방법 * 바깥의 클래스를 부모, 안쪽의 클래스를 자식으로 놓을 때, * 자식은 부모의 모든 기능을 포함한다. */ public class People { public class Man { public String name; public int age; public bollean military; public Man(String name, int age, boole..

Inner Class의 종류 일반 Inner Class 클래스 안에 또 다른 클래스가 명시된다. 하나의 클래스 내에 Inner Class가 여러 개 존재할 수 있다. public class People { public class Man { // 멤버변수, 생성자, getter, setter } } static Inner Class static 키워드를 적용하여 Inner 클래스를 정의한다. public class People { public static class Man { // 멤버변수, 생성자, getter, setter } } Inner Class의 객체 만들기 일반 Inner Class 상위 클래스의 객체를 통해서만 Inner Class에 접근할 수 있다. People p = new People(..

클래스의 분류 방법 클래스의 분류 방법에는 Inner Class 방식과 Package 방식 두 가지가 있다. Inner Class - 내부 클래스라고도 한다. - 클래스 안에 또 다른 클래스를 포함시켜, 클래스의 구조를 내부적으로 확장하는 방법 - 상속의 일종으로 볼 수 있다. Package - 클래스를 각각 폴더로 구분하는 형식이다. - 서로 다른 폴더에 나누어져 있는 클래스들을 사용하기 위하여 참조 처리가 이루어져야 한다. 사용 예시

공통 기능을 포함할 클래스 안에 스스로의 객체를 static으로 선언 static이 적용된 자원은 메모리의 고정 영역에 생성되기 때문에, 클래스 자체의 객체나 그 안에 포함된 멤버 변수, 메서드와는 메모리 상에서 구별된다고 볼 수 있다. 그러므로 Calc 클래스 안에 static 형태로 Calc 클래스의 객체를 정의하더라도 코드 상의 논리적인 연관 관계를 위해 하나의 파일에서 정의하는 것일 뿐, 실제로는 Calc 클래스 자체에서 독립된 객체가 되는 것이다. public class Calc { static Calc current; } Calc 클래스 이외의 여러 곳에서 new 연산자를 사용하여 객체 할당이 가능하다면 SingleTon이라는 개념 자체가 성립되지 않으므로, 외부에서 이 객체에 직접적인 접근을..
SingleTon 디자인 패턴 프로그램 내의 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역적인 범위를 갖도록 객체를 생성하고, 이 객체를 여러 곳에서 공유하기 위한 클래스 작성 패턴 이러한 패턴을 통해 생성된 객체를 싱글톤 객체라고 한다. SingleTon 객체의 이점 프로그램의 전역에서 활용할 재료로 사용되는 공유 기능을 하나만 생성하여 여러 곳에서 재사용함으로 해서 메모리를 효율적으로 사용할 수 있다. 단 한 번만 객체를 생성하면 다시 객체를 생성할 필요가 없기 때문에, 해당 기능을 사용할 때마다 객체를 일일이 생성해야 하는 번거로움을 피할 수 있다.

싱글톤 객체 생성을 위한 클래스의 기본 작성 구조 & 메서드 추가 // ---------------싱글톤 객체 생성을 위한 준비 시작 ----------------- public class Calc { public static Calc current; public static Calc getInstance() { if(current == null) { current = new Clac(); } return current; } public static void freeInstance() { // 객체에 null을 대입하면 메모리에서 삭제된다. current = null; } // 기본 생성자를 private로 은닉하게 되면 new를 통한 객체 생성이 금지된다. private Calc() { super();..

// 하나의 게시물을 표현하기 위한 JavaBeans public class Article { /* static은 모든 객체가 공유하는 값이다. static값은 클래스 이름을 통해서 접근해야 하며, 객체의 생성 여부에 상관 없이 사용이 가능하다. */ // 전체 게시물의 수를 표현하기 위한 데이터 private static int count = 0; // 모든 게시물은 하나의 카테고리 안에 존재한다고 가정한다. // 게시물의 분류를 구별하기 위한 데이터 private static String category; // 글 번호 private int num; // 글 제목 private String title; // 작성일시 private String regDate; public Article(int num,..

static 데이터에 접근하기 위한 메서드 클래스에서 정의하는 일반 메서드들은 객체의 생성과 동시에 동적 메모리 영역에서 활성화된다. 동적 메모리 영역의 입장에서는 고정 메모리 영역의 자원들은 항상 존재한다. 고정 메모리 영역의 자원들은 동적 메모리의 자원들이 항상 존재하는 것이라는 보장을 받지 못한다. 그러므로 객체의 생성과 상관없이 static 변수에 접근하기 위한 메서드를 만들 필요가 있는데, 메서드의 정의 과정에서 static 키워드를 사용하면 static 자원에 접근하기 위한 메서드를 만들 수 있다. static 메서드 사용 시의 제약 사항 메모리 영역의 차이 때문에 static 메서드는 동적 메모리 영역의 멤버 변수를 사용하거나, static이 아닌 일반 멤버 함수를 호출할 수 있다.

객체 간의 공유 자원을 표현하는 static 키워드 클래스를 설계할 때, 멤버 변수 중 모든 객체에서 공통적으로 사용해야 하는 값에 static을 붙인다. /** 하나의 게시물을 표현하기 위한 클래스 */ public class Article { private static int count; // 전체 글 수 private static String category; // 카테고리 private int num; // 글 번호 private String title; // 제목 private String regDate; // 날짜 } static 적용된 변수의 사용 static이 붙은 멤버 변수는 개체의 개수에 상관없이 단 하나만 생성되며, 이를 모든 객체가 공유하기 때문에 메모리를 효율적으로 사용할 수 있다..