1. 싱글톤(Singleton)클래스의 개념 싱글톤 디자인 패턴을 적용하여 작성된 클래스 상속성의 개념을 무시하고 만들어짐 왜? 기본생성자가 은닉화되어있으니까!! 그래서 고급자바에서는 싱글톤클래스를 사용하긴 하지만 다른 형태로 모델링해서 만듦 사실 싱글톤클래스로 만들지 않아도 프로그램 만드는 데에 상관은 없지만 싱글톤으로 제공해주면 불필요한 객체가 여러개 만들어지는 것 방지 가능함 2. 싱글톤클래스를 만드는 목적 싱글톤으로 제공해주면 불필요한 객체가 여러개 만들어지는 것 방지 가능! 프로그램에 객체를 딱 하나만 제공하기 위한 목적의 클래스를 작성하기 위해 사용한다. 데이터처리클래스에서 많이 사용 → 객체 하나만 생성해 이용 ex. 값을 처리하기 위한 클래스는 값 만을 처리하므로 객체를 여러개 만들면 오히..
java/oop
oop > Student.java 1. 학생정보를 저장하기 위한 클래스 VO 클래스 학생정보 : 학번,이름,국어,영어,총점 package oop; //학생정보(학번,이름,국어,영어,총점)를 저장하기 위한 클래스 - VO 클래스 public class Student { //인스턴스 필드(Instance Field) // => 객체 생성시 메모리(Heap 영역)에 만들어지는 필드 private int num; private String name; private int kor, eng, tot; //정적 필드(Static Field) // => 클래스 생성시 메모리(Static 영역)에 만들어지는 필드 // => 객체가 생성되기 전에 메모리에 하나만 생성되는 필드 // => 생성자에서 초기화 처리하지 않고 직..
🔐 제한자 알고 넘어가기 🔐 제한자(Modifier)란? 기능을 제한하기 위한 키워드 1. 접근제한자(Access Modifier) private package protected public 2. 일반제한자 (General Modifier) static : 객체가 아닌 클래스로 접근하기 위한 기능을 제공하기 위한 제한자 final : abstract : 1. static멤버 1) 개념 객체가 아닌 클래스로 접근하기 위한 기능을 제공하기 위한 제한자 static 키워드가 붙어있으면 일종의 공유의 개념이라고 생각하자 클래스로 접근 가능 클래스로더가 클래스를 메모리에 로드할 때 static멤버부터 초기화시킴 (= 자동 초기화) 메모리에 딱 하나만 만들어줌 2) static필드(정적 필드) 클래스 생성 시 메모..
1. 자바의 API 문서 보는 법자바는 jre 시스템 라이브러리를 이용해 클래스를 만든다.jre 시스템 라이브러리를 설명해주는 API 문서를 이용하자module >> package >> class >> Field + Method + Constructormodule : 지금은 java.base만 사용 가능module >> java.lang package: 일반적으로 프로그램만들 때 기본적으로 사용하는 클래스들의 모임module >> package >> Math클래스, String클래스 , System클래스 ...class (module >> package >>class 순서대로으로 접근 가능, jre 시스템 라이브러리클래스이기 때문에 우리가 사용가능했던 것)class 내 요소들 : 필드의 목록/설명 + 메..
자바는 "프로토타입클래스" 이다 프로토타입클래스란? 객체가 수십개 있어도 메모리에는 딱 한개만 만들어지는 것 메모리 절약 가능하다! ex) Member클래스 1. Member 클래스 oop > Member.java package oop; //회원정보(아이디,이름,이메일)를 저장하기 위한 클래스 (VO클래스) public class Member { private String id="NoId"; private String name="NoName"; private String email="NoEmail"; public Member() { this("NoId","NoName","NoEmail"); } public Member(String id) { this.id=id; } public Member(String ..
1. 개념 값 저장이 목적인 객체를 생성하기 위한 클래스 행위를 구현하지 않음 즉, Setter & Getter 말고는 다른 메소드가 없음 ex. 회원정보(아이디,이름,이메일)를 저장하기 위한 클래스 (Member.java) vo클래스의 구성요소 필드 필드를 초기화시킬 수 있는 생성자 Setter & Getter메서드 데이터처리 클래스 & vo클래스를 가장 많이 만든다! 2. 예시 package oop; public class Member { private String id="NoId"; private String name="NoName"; private String email="NoEmail"; public Member() { this("NoId","NoName","NoEmail"); } public ..
1. this(키워드) 란? 메소드에 숨겨져 있는 매개변수 메소드에서 객체의 필드 또는 메소드를 사용하기 위해 this 키워드 사용 객체의 여러개 중 어떤 객체의 필드를 명확하게 구분하기 위해 사용하는 것 우리 눈에 보이지 않지만, 메소드에는 this라는 이름의 매개변수가 존재함 2. this 사용 예시 public Member{ //Field private String id; private String name; private String email; //Method public void display(Member this) { System.out.println("아이디 = " + this.id); System.out.println("이름 = " + this.name); System.out.printl..
1. 생성자(Constructor) 의 개념 객체를 생성하기 위한 특별한 메소드 즉, 새로운 인스턴스가 생성될때마다 호출되는 인스턴스 초기화 메소드 인스턴스를 만들어주는 것은 new 연산자이다. 생성자는 인스턴스를 초기화 시켜줄 메소드일 뿐이다. 2. 생성자(Constructor) 선언법 방법1) 컴파일러가 만들어주는 기본생성자만 사용 기본생성자(Default Constructor) = 매개변수가 없는 생성자 객체 생성 시 매개변수가 없는 기본 생성자를 컴파일러가 소스코드를 바이트코드로 읽으면서 기본생성자 자동추가 필드에는 기본값으로 초기값 저장 형식 접근지정자 클래스명( ){ } public Member( ){ } 예시 Member member1 = new Member(); //private filed..