minlog
article thumbnail
[ JAVA ] 추상 클래스 abstract / 템플릿 메서드
BackEnd/JavaProgram 2023. 3. 15. 20:47

추상 클래스 abstract 예약어를 사용 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스 추상 클래스는 new 할 수 없음 ( 인스턴스화 할 수 없음 ) 추상 클래스를 상속 받는 클래스는 추상 메서드를 무조건 오버라이딩 해야한다. public abstract class 클래스명{ public abstract void 메서드이름 (); } 💡추상클래스가 필요한이유?? 객체생성이 목적이 아니라 자식을 생성하기 위해 만들어졌다. 코드의 독립성과 일관성을 유지 할 수 있다. 추상메서드에는 본체가 없다. ( 중괄호 없음 { } ) : 자식이 오버라이딩 해서 내용을 입력한다. 무조건 자식이 오버라이딩하여 메서드의 본체를 완성하게된다. 때문에 객체의 다양성을 볼 수 ..

article thumbnail
[ JAVA ] 자바 배열 문법 1 / 1차원 배열과 2차원 배열
BackEnd/JavaProgram 2023. 2. 1. 21:26

1차원 배열 배열이란 하나의 변수를 사용하더라도 10개의 데이터를 저장 할 수 있는 것. 동일한 자료형의 순차적 자료 구조 인덱스 연산자[ ]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 표기법 💡 타입 식별자[ ] | 타입 [ ] 식별자 int arr[]; // 여러개의 int 값이 들어갈 수 있는 배열 선언 int [] arr; 배열의 선언과 초기화 💡 배열 변수 선언 | int arr [ ] ; 주소값이 들어갈 수 있는 변수로 참조 변수라고 한다. 단 한개의 데이터 형를 저장할 수 있는 메모리가 확보 ( 변수 생성, 주소값 없음) 💡 배열 생성 | new int [ 배열 길이 ]; new..

article thumbnail
[ JAVA ] 싱글톤 패턴 (Singleton pattern)
BackEnd/JavaProgram 2023. 2. 1. 01:44

싱글톤 패턴이란? 한 번의 메모리만 할당하고 그 할당한 메모리에 대해 객체로 관리하기 위함입니다. 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 ex ) Calendar 클래스 🍫 싱글톤패턴 company.java package ch18; public class Company { // 2. 유일한 인스턴스가 바로 생성될 수 있도록 내부에서 static으로 생성해준다. private static Company instance = new Company(); // 1. 다른 곳에서 생성 하지 못하게 하기 위해 private로 생성자를 만들어준다. private Company() {} // 3. 유일한 인스턴스를 외부에서 접근하기 위한 메서드 public static Compan..

article thumbnail
[ JAVA ] static 변수와 메서드, 변수의 유효 범위
BackEnd/JavaProgram 2023. 1. 30. 23:02

공통으로 사용하는 변수가 필요한 경우 ? 여러 인스턴스가 공유하는 기준 값이 필요한 경우 Example > 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여 회사에 사원이 입사할때 마다 새로운 사번이 필요한 경우 static int serialNum; 💡 static 변수의 정의 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적변수라고도 함 (vs. 인스턴스 변수) 인스턴스 생성과 상관 없이 사용 가능하므로 클래스 이름으로 직접 참조 💡 static 메서드의 정의 static 메서드는 인스턴스 생성과 무관하게 클래스 이름으로 호출 될 수 있음 인스턴스 생성 전에 호출 될 수 있으므로 static 메서..

article thumbnail
[ JAVA ] 객체 간의 협력 / 예제 문제 풀어보기
BackEnd/JavaProgram 2023. 1. 30. 22:36

객체 지향 프로그래밍에서의 협력 객체 지향 프로그램에서 객체 간에는 협력이 이루어짐 협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함 매개 변수로 객체가 전달되는 경우가 발생 객체 협력의 예 🍫 과제 문제 풀어보기 Example . 앞의 예제에서 Edward는 지각을 해서 택시를 타야 했습니다. 20000원을 가지고 있었는데 10000원을 택시비로 사용했습니다. 택시는 '잘나간다 운수' 회사 택시를 탔습니다. Console 결과 값 Person.java package ch15; public class Person { private String personName; // 사람이름 private int money; //보유 금액 public Person() {} public Per..