본문 바로가기

728x90
반응형

programming/Gukbi

(107)
국비 교육 16일차 인터페이스 - 서로 다른 클래스를 연결해주는 것/ 유지보수가 쉽게 만들어줌 결합성이 낮은 프로그램-클래스가 여러개 있어도 클라이언트와 연결할때는 인터페이스를 이용함 인스턴스 변수: 클래스 저장시마다 메모리 공간이 따로 생기는 변수 메모리 주소의 데이터형은 int -> 메모리 주소는 int의 범위를 벗어나지 않음 Circle c1 = new Circle(); 클래스 객체 = 객체 생성 생성자 클래스=데이터형 객체=메모리공간 클래스의 구성 멤버변수 : 속성 생성자 : 클래스가 객체화될 떄 수행되는 메소드 메소드 : 기능 / 리턴형, 매개변수 잘 생각하기 모든 클래스는 Object로부터 상속받음 생성자는 초기값을 줄때 사용-필요하지 않을때도 있음 / but 오라클 연동때는 필수적으로 필요함 클래스 영역은 선언..
국비 교육 15일차 - 객체지향프로그램 오늘은 수업 마지막 시간에 정리를 해주셔서 그냥 수업들으면서 같이 블로깅 할 예정이다. 객체지향 프로그램 3대요소 - 캡슐화, 상속, 다형성 접근지정어 private getter, setter를 통해 만들 수 있음 상속 : 이미 작성된 클래스 (부모 클래스)를 이어 받아서 새로운 클래스 (자식 클래스)를 생성하는 방법 기존의 코드를 재활용하기 위한 기법 다형성 : 하나의 이름으로 많은 상황에 대처하는 기법 개념적으로 동일한 작업을 하는 멤버 함수들에 똑같은 이름을 부여할 ..
국비 교육 14일차 - 생성자 오늘 배운 내용은 클래스 생성자 계속 집에서 듣느라 좀 많이 지친다 일단 바로 정리한것부터 써보면 /* * 1. 메모리 저장 장소(구조) page 261 * ==================================== * Method영역 => .class, method, static * ==================================== * Stack => 지역변수, 매개변수 => 관리 (메모리) * ==================================== * Heap => new 이용해서 저장 (인스턴스 변수) * ==================================== * class A * { * String name; // Heap * A(String name)..
국비 교육 13일차 - Class method 오늘은 유난히 더 힘들었다 점심에 눈도 오고 뭔가 나쁘지 않았는데 뒤로 갈 수록 실습해보는게 이해는 안되는데 코드는 일단 받아 적어야하고 울며겨자먹기로 꾸역꾸역 수업을 다 들었다..... 가면 갈수록 어려워져서 매일 복습 블로깅을 써야지 처음부터 마음먹은게 너무 다행인거 같다 여튼 오늘 블로깅 start 아침부터 한건 숫자야구게임 메소드화.. 아니 어쩐지 오늘 토나오게 힘들더라니 그냥 어려운결 8시간 내내 해서였다. /* * int[] com : 컴퓨터 난수 * int[] user : 사용자 입력값 * int s,//여기까지 멤버변수 int b;//지역변수 * * 1) 컴퓨터가 난수 발생 => int[] com * 2) 사용자 입력 => int[] user * 3) 비교 => int[] com, int[..
국비 교육 12일차 - Class 변수 오늘은 Method 다음 Class의 개념과 class에서 쓰이는 변수들의 특징에 대해 배웠다. 우선 class를 사용하여 여러 변수, method를 묶어주는것 부터 객체지향 프로그래밍의 시작이라고 보면 될 것 같다. 객체지향 프로그래밍을 하는 이유는 1. 관리가 용이해서 2. 수정(변경)이 편해서 3. 재사용성이 높아서 4. 신뢰성이 높아서 등의 이유가 있었다. /* * ================= * 1. 관리가 용이 * 2. 수정(변경)이 편하다 * 3. 재사용이 좋다 * 4. 신뢰성이 좋다 * ================= * * * class의 구성요소(변수+메소드) * ============= * = 변수 * * 프로그래머가 직접 생성 => class {}안에 생성 * ==========..
국비 교육 11일차 - Method 분명 메소드, 클래스, 상속까지 대충 무슨 개념인지는 알고 시작했는데 다시 배우려니까 헷갈리는게 너무나도 많다. 일단 이번 포스팅에서는 Method의 개념을 제대로 정리하고 응용을 어떻게 했는지 다시 짚어가면서 이해하고 마무리를 하겠다. 일단 메소드의 개념부터 살펴보면 사용자 입력값이 있으면 method 안에서 가공을 하고, 결과값을 배출하는것이 method의 기본원리이다 수학에서는 함수와 같으며, 실제로 자바 스크립트에서는 function으로 부르고 사용한다. 그래서 기본 개념 자체는 어려운 것이 없다. 메소드의 종류에는 4가지가 있는데, 1. 입력값이 있고 출력값이 있는 메소드 2. 입력값만 있는 메소드 3. 출력값만 있는 메소드 4. 입력값, 출력값 전부 없는 메소드 (실행만 하고 끝) 이미 자바로..
국비 교육 10일차 - 달력만들기 + 숫자 야구 게임 오전에는 먼저 배열+제어문 활용을 마저 하고 오후부터 method 기초부터 배우기 시작했다 양이 꽤 많아서 같이 포스팅하는건 효율이 떨어질 것 같아서 프로그램 만든 코드들 부터 복습해보고자 한다. 그리고 중복없는 숫자 만드는거 복습 안해주셨다... ㄱ- 따로 해야할덧....... 일단 달력만드는 로직부터 복습 고 import java.util.Scanner; public class 달력만들기연습 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.print("년도를 입력하세요:"); int year = scan.nextInt(); System.out.print("달을 입력하세요:"); int m..
국비 교육 9일차 - 배열 활용 힘들... 8시간 동안 컴퓨터 화면 쳐다보는게 쉬운게 아니구나 오늘은 새로운 개념을 배웠다기 보단 배열+제어문을 활용해서 이런저런 로직을 짜는 것들을 연습해봤다. 그리고 어려웠당 ^___^ 어제 잠깐 배웠던 정렬 로직을 먼저 공부하고 그 다음에 다른 활용들 + String 문자열을 배웠음 // 정수 1개를 입력받아서 2진법으로 만드는 프로그램 => 16bit (0,1=>16개) //32767 (양수만 처리) /* * 1. 정렬 * = 선택정렬 * = 버블정렬 * 1-1 빈도수 확인 * 1231112222 => 문자열 * 2. 윤년 => 달력 * 3. 숫자 야구 게임 (중복이 없는 난수 발생) * =============== * 로또 => 6개 * * 4. 문자열배열 * * * */ /* * 1. 변수(저..
국비 교육 8일차 - 배열 왜 국비가 진도가 빠르다고 했는지 알겠다 벌써 약간 따라가기 벅차다 배열도 뭐 아는 내용이라 엄청 벅찬건 아닌데 푸는 예제들과 알고리즘을 한 번에 이해하기가 어렵다.. 꼭 복습이 필요하다 여튼 배열 복습 고고 /* * 배열 * 1. 정수형 배열 *int[] arr = {1,2,3,4,5} *int[] arr = new int[5]; * == === == 저장할 갯수 *배열설정,배열명 *long[] arr=new long[]; *long[] arr={1L, 2L, 3L, 4L, 5L} => {1,2,3,4,5} *long a=1 ==> a=1L * *int[] arr=new int[5]; // 0,0,0,0,0 *long[] arr=new long[5]; // 0L, 0L, 0L, 0L, 0L * * 2...
국비 교육 7일차 - 2차 for문 이제 노는요일 없이 정말 주5일 내내 빡세게 달려야 한다. 그동안 솔직히 대충 아는 내용에 복습을 계속해서 좀 지겨웠는데, 오늘 부터 모르는 내용이 하나씩 등장했다. 우선 가장 먼저는 2차 for문 for문 안에 for문이 들어가 있는 형태이다. 그렇기 때문에 조건역시 2번 걸어줘야 한다. 형식은 아래와 같다. /* * 이중 반복문 (중첩 for) * 형식) * 가로 : 이차 for * 세로 : 일차 for * * 2*1=2 3*1=3 4*1=4 5*1=5 .... 9*1=9 * -- * -- * -- * -- * 2*9=18 3*9=27 ----- * ↗ false: 종료 * 1 → 2 ← 4 * for(초기값;조건식;증가식) ==> 줄수 ===> 추천 * { ↗ * ↓ true * 3 * ======..

728x90
반응형