728x90 반응형 분류 전체보기336 Java(11) - 컬렉션프레임워크 1. 컬렉션 1) 사전적 의미로 요소(객체)를 수집해서 저장하는 것. 2. 배열의 문제점 1) 저장할 수 있는 객체 수가 배열을 생성할때 결정(정적) => 블특정 다수의 객체를 저장하기에는 문제점이 있음. 2) 객체 삭제했을 때 해당 인덱스가 비게 됨. => 덤성덤성 빠진 배열이 됨. 3. 컬렉션 프레임워크(Collection Framework) 1) 객체들을 효율적으로 추가,삭제,검색할수 있도록 제공되는 컬렉션 라이브러리. 2) 라이브러리(기능) + 프로그래밍 방식 3) 표준화, 정형화된 프로그래밍 방식. 4) 인터페이스를 통해서 정형화된 방법으로 다양한 컬렉션 클래스 이용 4. 컬렉션 프레임워크의 주요 인터페이스 1) List : 배열과 유사하게 인덱스로 관리 - ArrayList, vector, L.. 2022. 1. 28. Java(10) - 배열 1. 배열(Array)이란? 1) 자료를 순차적으로 한꺼번에 관리하는 방법. 2) 동일한 자료형의 순차적 자료구조. 3) 배열의 순서는 0부터 시작. 4) 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함. 2. 배열 선언과 초기화 1) 배열 선언하기 int[] arr1 = new int[10]; int arr1[] = new int[10]; 2) 배열 초기화하기 - 배열은 선언과 동시에 자료형에 따라 초기화 됨.(정수는 0, 실수는 0.0, 객체는 null) - 필요에 따라 초기값을 지정할 수 있음. int[] numbers = new int[] {10, 20, 30}; //개수 생략해야 함 int[] numbers = {10, 20, 30}; //new int[] 생략 가능 int[] i.. 2022. 1. 28. Java(9) - 객체지향프로그램3 1. 객체 자신을 가리키는 this 1) 생성된 인스턴스 자신의 메모리를 가리킴 2) this() : 생성자에서 또 다른 생성자를 호출할때 사용 - 클래스에 생성자가 여러 개인 경우, this()를 이용하여 생성자에서 다른 생성자를 호출. - 생성자에서 다른 생성자를 호출하는 경우에는 인스턴스 생성이 미완성인 상태이므로 다른 수행문을 쓸수 없음. 3) 자신의 주소를 반환 2. 객체 간의 협력(collabration) 1) OOP에서의 협력 - 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함. - 매개 변수로 객체가 전달되는 경우가 발생. 3. 여러 인스턴스에서 공통으로 사용하는 변수 => static 변수 1) 공통으로 사용하는 변수 필요한 경우 - 여러 인스턴스가 공유하는 기준 값이 필요한.. 2022. 1. 28. Java(8) - 객체지향프로그램2 1. JVM 의 메모리 구조 1) 호출스택(Call Stack) -- LIFO (Last In First Out), 후입선출 - 메서드의 저장공간 - 메서드가 호출되면 메서드 수행에 필요한 메모리공간을 할당받고 - 메서드가 종료되면 사용하던 메모리를 반환함. - 프로그램의 시작점 main()가 시작하면서 필요한 메모리 공간을 할당함. - 호출 스택에서 맨 위에 있는 메서드가 현재 실행중이며, 아래에 있는 메서드가 바로 위에 메서드를 호출한 메서드이며 대기 상태로 있음. 2) 힙(Heap) - 인스턴스가 생성되는 공간 - new 연산자에 의해서 생성되는 객체는 모두 여기에 생성됨. 2. 인스턴스 생성과 힙 메모리(heap memory) 1) 인스턴스 (instance) - 클래스는 객체의 속성을 정의하고,.. 2022. 1. 28. Java(7) - 객체지향프로그래밍 1. 객체(Object) 1) 의사나 행위가 미치는 대상 2) 구체적, 추상적 데이터 단위 (학생, 회원, 생산, 주문, 배송) 3) 예) 쿠팡에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문한다. ---- ------ --- --- 2. 절차 지향 프로그래밍 vs 객체 지향 프로그래밍 1) 아침에 일어나 4강의실에 가는 과정 - 절차지향 프로그래밍 일어난다 -> 씻는다 -> 밥을 먹는다 -> 지하철,버스를 탄다 -> 학원에 도착한다. - 객체지향 프로그래밍 2) 객체지향 프로그램은 어떻게 구현하느냐? - 객체를 정의하고 - 각 객체 제공하는 기능들을 구현하고 - 각 객체가 제공하는 기능들 간의 소통(메시지 전달)을 통하여 객체간의 협력을 구현 3. 클래스 1) 객체의 청사진.. 2022. 1. 28. Java(6) - review 1. 프로그래밍 1) 컴퓨터에게 요구사항(일)을 시키기 위해 프로그래밍 언어(JAVA)로 만든 명령어 집합인 프로그램을 만드는 일. 2. 컴파일 : 프로그래밍 언어를 기계어로 바꾸어 주는 일. 3. 컴파일러 : 기계어로 바꾸어 주는 프로그램. 자바를 설치하면 자바 컴파일러도 설치 됨. 4. 자바의 역사 1) 1957 2) 1984 3) 1995 5. 자바 언어의 차이점 1) 플랫폼에 독립적인 프로그래밍을 할수 있음. 2) 객체지향 프로그램으로 유지보수, 확장성이 좋음. 3) 안정적임. 4) 풍부한 라이브러리 제공, 오픈소스와 연동됨. 6. 변수 1) 변하는 수 2) 변하는 값을 프로그램에서 나타내기 위한 방법 3) 사람의 나이, 온라인 상품의 개수, 학생의 학년 .... 4) 변수와 메모리 - 변수를 선.. 2022. 1. 28. Java(5) - 반복문 1. while 문 1) 조건이 참(true)인 동안 반복수행하기 2) 조건이 맞지 않으면 반복하던 수행을 멈추게 됨 3) 예) 달리는 자동차, 일정 횟수만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨 4) while(조건식) { 수행문1; .... } 수행문2; 2. do ~ while문 1) 조건과 상관없이 한번은 수행문을 수행 2) do { 수행문1; .... } while(조건식); 수행문2; ... 3. for 문 1 2 4 1) for (초기화 식; 조건식; 증감식) { 수행문; 3 .... } 수행순서 : 1 - 2 - 3 - 4 - 2 - 3 - 4 - 2 - 3 - 4 .... 4. 각 반복문의 쓰임 while문 do~while문 for문 ------------------------.. 2022. 1. 28. Java(4) - 조건문 1. 조건문 - if문 1) 주어진 조건에 따라서 다른 실행이 이루어 지도록 구현. 2) if문 문법 if(조건식) { 수행문; //조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨. //조건식이 '참'인 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음. } if ~ else문 문법 if(조건식) { 수행문1; //조건식이 '참'인 경우에 수행됨 } else { 수행문2; //조건식이 '참'이 아닌 경우에 수행됨 } 2. 조건이 여러 개 일때의 if문 - if ~ else if ~ else if ~ else if else 문. 1) 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용. 2) 각 조건은 상호 배타적임. if(조건식1) { 수행문1; .. 2022. 1. 28. Java(3) - 연산자 1. 연산자는 무엇일까? 1) 연산자 (Operator) : 항을 이용하여 연산하는 기호 (+,-,*,/) 2) 피연산자 = 항 (Operand) : 연산자의 작업 대상(변수,상수,리터럴,수식) 2. 대입 연산자 (assignment operator) 1) 변수에 다른 변수나 값을 대입하는 연산자 2) 이항연산자 중 우선 순위가 가장 낮은 연산자 3) 왼쪽 변수 = 오른쪽 변수(또는 값,식) 3. 부호 연산자 1) 단항 연산자 2) 변수의 부호를 유지하거나(+), 바꿈(-) 4. 산술 연산자 1)사칙 연산자 + - * / 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구함 % 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구함 2)복합 대입 연산자 대입연산자와 다른 연산자가 함께 쓰임 += -= *=.. 2022. 1. 28. Java(2) - 변수 1. 컴퓨터에서 자료 표현하기 1) 2진수로 표현 - 0과 1로만 데이터를 저장함 - bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할수 있는 메모리의 크기 - byte(바이트) : 1byte = 8bit 2) 2진수와 10진수 10진수 0 1 2 3 4 5 6 7 8 9 10 2 진수 0 1 10 11 100 101 110 111 1000 1001 1010 3) 2진수와 8진수 16진수 10진수 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 진수 0 1 10 11 100 101 110 111 1000 1001 1010 1011 8 진수 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 16진수 0 1 2 3 4.. 2022. 1. 28. 이전 1 ··· 27 28 29 30 31 32 33 34 다음 728x90 반응형