자바18 객체지향 프로그래밍 정리 4. 배열(Array) 1. 개요 배열이란 특정 동일한 자료형이 순차적으로 이어져 있는 자료구조다. 인덱스 연산자 []를 이용해 빠른 참조가 가능하다. 그리고 모든 자료형이 붙어있는 상태라 메모리 상에서 물리적 위치와 논리적 위치가 동일하다. 그리고 자바에선 객체 배열을 구현한 ArrayList를 주로 사용한다. 2. 사용법 2-1. 선언 int[] arr = new int[10]; int arr[] = new int[10]; 둘 다 사용 가능하다. int 자료형이 10개 들어가는 배열이 생성된다. 선언과 동시에 초기화 하면 new 키워드를 사용하지 않아도 되지만, 미리 선언만 하면 초기화 할 때, new 키워드를 사용해야 생성할 수 있다. int[] arr; arr = new int[] {1, 2, 3} 이런 형태로 사용하지.. 2022. 4. 1. 객체지향 프로그래밍 정리 3. static 메소드 (클래스 메소드) 1. 개요 static 메소드는 static 변수를 사용하는 메소드다. 특징으로는 인스턴스의 생성과 무관하게 클래스 이름으로 호출할 수 있다. 인스턴스 생성 전에 호출할 수 없으므로 static 메소드 내부에서는 인스턴스 변수를 사용할 수 없다. ( 인스턴스 생성 전부터 사용할 수 있어야 하는데 인스턴스 변수를 사용하면 없는 변수를 사용하려는 경우가 생기기에 막아놓은 것이다.) 2. 사용 예 public class Employee { private static int serialNumber = 1000; private int Id; private String name; private String department; public Employee() { Id = serialNumber++; } public.. 2022. 3. 31. 객체지향 프로그래밍 정리 2. static 변수 1. 개요 static : 데이터 영역 메모리에서 여러 인스턴스들이 공유하는 변수 사용 예로는 학생마다 새로운 학번 생성 카드 회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때마다 새로운 사번 부여 등이 있다. 2. 활용 2-1. static 개념 설명 static int serialNumber; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 하드디스크에 프로그램이 있고, 그 프로그램을 구동하면 프로그램이 메모리에 올라가게 된다. 이 상태를 프로세스라 하는데 2가지 영역을 가지게 된다. code, data 영역이 있는데 data영역엔 static (상수), literal이 올라가고, code : instruction s.. 2022. 3. 31. 디자인 패턴 7. 전략 패턴 (Strategy Pattern) 1. 개요 전략 패턴은 객체지향의 꽃이라 할 수 있다. 유사한 행위들을 캡슐화하여, 객체의 행위를 바꾸고 싶은 경우, 직접 변경이 아닌, 전략만 변경하여 유연하게 확장하는 SOLID중 개방폐쇄 원칙(OCP), 의존역전 원칙(DIP)을 따르는 패턴이다. 3가지 필수 요소가 있다. 1. 전략 메소드를 가진 전략 객체 (인코딩의 경우 "그냥", "Base64", "사용자 설정" 등) 2. 전략 객체를 사용하는 컨텍스트 (인코딩의 경우 "Encoder") 3. 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트 (Main) 인코딩의 경우 Base64, 32, 해시코드, 암호화 등 여러가지 전략이 있다. 인코더 객체 자체는 변하지 않고 전략 주입에 따라 결과가 달라지게 하는 것이다. 이런 디자인 패턴을 알고 있으면.. 2022. 3. 12. 이전 1 2 3 4 5 다음