자바 28

TIL : 17번째- 221221 [12-3-수]

I. INTRO : 지난시간 복습 상속은 두가지가 있다. has a 상속 Vs Is a 상속 오늘날 책은 주로 Is a 상속이 있으나, has a 상속도 있음 has a 상속은 부품을 들고오는 것인데, 이것도 상속이라고 부른다 우리 문화는 수직관계 상속만 있는데, has a 처럼 수평적 상속에 대해서 낯설다 그렇기 때문에 has a 에 대해서 상속보다는 결합으로 생각하는것이 바람직하다. 부품과 제품간의 결합관계 : has a 관계 왜냐하면 캡슐은 독단존재가 아닌 main함수부터 분가한 것이다. 과거에는 함수간의 분가로 보았으나, 지금은 객체단위로 분가한다. 캡슐간 떼기보다는 엮어야하는데 이것이 has-a 관계 이경우 main이 제품이고, 분가한 녀석이 부품이다. 즉 main이 부품을 이용하는것이다. 분해..

일일문제 : 7번째- 221221 [12-3-수] - 객체지향 위인전

[12번] 1. 문제설명 다음 각 문항에 답을 하시오. // 1. 다음 그림을 보고 Room 클래스와 Student 클래스를 작성하시오. // 2. 다음 코드는 App 클래스의 main 메소드 코드이다. Room room = new Room(); room.load(“res/students.csv”); room.shuffle(); room.print(); room.sort(); room.print(); res/students.csv 파일내용을 읽어서 Room의 students 배열을 채우는 load() 코드를 작성하시오. students.csv 파일 내용은 다음과 같다. id,name 1,홍길동 2,강감찬 3,세종대왕 4,이순신 5,이방원 6,이성계 7,아이유 8,유재석 9,강호동 10,김종국 // 3. ..

TIL : 16번째- 221220 [12-3-화]

-실제로 오늘 오전문제 Canvas에서 함수 명(drawBoard : X)도 엄밀히 잘 생각해보자 -자바는 언더바 지양해야함, 구분은 대소문자로 해야한다. (언더바는 주로 파이썬 : 스케이크표기법) I. INTRO : 지난시간복습 객체지향의 필수요소들 캡슐화 상속 다형성 구조적프로그래밍은 그냥 함수 정의만 하면 됨, 자르는 기준없음 함수 4가지 장점만 알면됨 나누는건 객체지향에서 연습하면 됨 II. 캡슐화 :역할을 가지고있는 영역 1. 캡슐화 (1)캡슐화 캡슐화란 캡슐을 만드는 것임 기존에는 캡슐이 없는데 만드는 것임, 여기서 캡슐이란 '구조화된데이터' 그것을 사용하는 '함수'를 묶은것이다 객체지향은 실세계 표현을 코드에 묻어나게끔 하는것이다. 구조화된 데이터가 없는 것은 메소드를 가질 수없다. 기능을 ..

TIL : 15번째- 221219 [12-3-월]

I. INTRO : 이전 복습 (ㄴㅈㅊㅈ / ㅊㅈ / ㄱㄱ) OOP는 구현보다는 필요성과, 이유를 알자 함수 4가지를 암기(ㄴㅈㅊㅈ)하기보다 느껴야한다. 데이터의 속성을 구조화 (우리 머릿속의 개념과 유사한)한것을 구조체라고한다. 문제점1. 변수명 충돌될 수있음 /문제점2.(가장 중요한)묶어서 쓰면 주석을 써야하는데 주석 대신에 데이터의 공통분모에 대한 범주화가 가능 /3. (내 생각 : 변수누락을 막을 수있다) 이후 구조체 이후에 객체지향프로그래밍이 탄생함 때문임 (고기) 문제점 1 : 함수를 나누는 '기'준이 명확하지 않음(사람마다 최적화된 나눔의 기준이 없음) / 문제점 2 : 함수의 '고'립도를 무너뜨린다. (결합력을 너무 강하게 만든다) II. 객체지향형 (고기) 1. 코드파일 관리방법 (1) ..

일일문제 : 5번째- 221219 [12-3-월] - 함수화 / 피라미드

[8번] 1. 문제설명 : 제어구조 중첩 + 다차원 배열 + 배열+함수 문제 // 7번 문제를 함수를 이용하여 코드를 나누어 만들어보시오. 2. 나의 해답 package T221219; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; public class test8 { static void print_Array (int [][] map) { for(int j = 0 ; j < map.length; j++) { for(int i = 0 ; i< map[j].length ; i++) System.out.print(map[j][i]); ..

TIL : 14번째- 221216 [12-2-금]

※ Keep in mind 본 내용은 웹개발과정의 강의 중 내용을 복습을 위해서 메모한 것에 불과한 것입니다. 이러한 연유로 강의내용을 오인한 나머지 오기재 및 불기재가 있을 수 있으니 '참고'만 해주시길 바랍니다. 저의 경우에도 본 내용을 단순히 읽은 것이 결코 저의 것이라고 생각하지 않습니다. 본 내용은 복습를 위한 초기 내지 중간 과정에 불과한 것이고, 이후에 내용을 보충 후 인출 및 설명하기 과정이 있어야 비로소 복습의 단추가 어느정도 마무리 되어간다고 볼 수 있습니다. 따라서 당초에 본 내용은 비공개였습니다. 그럼에도 불구하고 본 내용을 공개한 점은 함께 공부하는 동료들과 나눔을 바탕으로 배움과 성장의 공진화라는 소기의 목적을 달성에 어느정도 도움이 될수 있기 때문이라고 생각합니다. I. INT..

일일문제 : 4번째- 2212116 [12-2-금] - 보드와 돌 만들기

[7번] 1. 문제설명 제어구조 중첩 + 다차원 배열 + 배열 문제 // 1. res/map.txt 파일을 생성하고 다음 데이터를 복사/붙여넣으시오. 00010 01010 00000 // 2. map이라는 이름으로 5x3 크기의 정수를 담을 수 있는 이차원 배열과 board라는 이름의 10X6크기의 문자를 담을 수 있는 이차원 배열을 생성하시오. [ ] map = [ ]; [ ] board = [ ]; // 3. res/map.txt에서 읽은 데이터로 map 배열을 채우시오. { // 코드를 작성하는 공간 System.out.println(“map 데이터 로드 완료”); } // 4. map 데이터 하나는 board 배열의 4칸과 대응되며 다음과 같은 모양으로 대응된다. // map에서 0은 다음 모양과..

TIL : 13번째- 221215 [12-2-목]

※ Keep in mind 본 내용은 웹개발과정의 강의 중 내용을 복습을 위해서 메모한 것에 불과한 것입니다. 이러한 연유로 강의내용을 오인한 나머지 오기재 및 불기재가 있을 수 있으니 '참고'만 해주시길 바랍니다. 저의 경우에도 본 내용을 단순히 읽은 것이 결코 저의 것이라고 생각하지 않습니다. 본 내용은 복습를 위한 초기 내지 중간 과정에 불과한 것이고, 이후에 내용을 보충 후 인출 및 설명하기 과정이 있어야 비로소 복습의 단추가 어느정도 마무리 되어간다고 볼 수 있습니다. 따라서 당초에 본 내용은 비공개였습니다. 그럼에도 불구하고 본 내용을 공개한 점은 함께 공부하는 동료들과 나눔을 바탕으로 배움과 성장의 공진화라는 소기의 목적을 달성에 어느정도 도움이 될수 있기 때문이라고 생각합니다. I. INT..

일일문제 : 3번째- 2212115 [12-2-목] - 돌 전환시키기

[5] 1. 문제설명 // 1. res/alphabet.txt 파일을 생성하고 다음 데이터를 복사/붙여넣으시오. // abcdefghijklmn // 2. alphabet이라는 이름으로 문자 15개를 저장할 수 있는 배열 객체를 생성한다. [ ] alphabet = [ ]; // 3. res/alphabet.txt 파일에 저장된 구분자가 없는 영문자 값들을 alphabet 배열에 로드한다. { // 코드를 작성하는 공간 System.out.println(“로드 완료”); } // 3. 배열의 값이 다음과 같은 상태가 되도록 자리를 바꾼다. // nmlkjihgfedcba { // 코드를 작성하는 공간 System.out.println(“자리변경 완료”); } // 4. res/alphabet-out.tx..