멋쟁이 사자처럼 2기 150일간의 기록 19

멋쟁이 사자처럼 백엔드스쿨 2기 8일차 D - 143 - 자바 객체지향 2파트 복습

자바의 정석 기초편 part7인 객체지향 프로그래밍 2(222p ~ 289p)부분을 복습하고 연습문제들을 풀어보았다. 상속, 포함관계, 클래스간의 관계 결정하기, 단일상속, 제어자, 인터페이스 등의 OOP의 중요 요소들의 복습을 진행하였다. 그리고 예제들을 한번씩 코딩해보고 연습문제를 다시 푸는 과정을 진행하였다. package Joengseok7; //섯다 카드 20장을 포함하는 섯다카드 한 벌 class SutdaDeck { final int CARD_NUM = 20; //SutdaCard의 배열을 생성한 것이지 SutdaCard의 인스턴스가 생성된 것은 아니다. -> 객체 생성 필요 SutdaCard[] cards = new SutdaCard[CARD_NUM]; /** 섯다카드 20장을 담는 Sut..

백엔드 스쿨 자바 4일차 미션

1. 다차원 배열 문제 package Mission; import java.util.Scanner; /** * 문자형 2차원 배열 5행 5열을 만들고 행과 열을 입력 받아 해당 좌표의 값을 'X'로 변환해 2차원 배열을 출력하시오 * 또한 계속해서 반복 실행하도록 구현하고 행이나 열 입력시 0 미만 5 이상의 수가 입력되면 프로그램을 종료하시오. */ public class Mission5 { //1. 클래스 내의 멤버들이 접근 가능한 멤버변수 배열 char[][] arrayBoard 를 선언한다. char[][] board; //2. 모든 항목이 '0'으로 초기화 된 배열을 만든다. // 매겨변수의 배열 크기를 전달받아 그 크기만큼 배열을 만들것이다. char[][] makeBoard(int value..

멋쟁이 사자처럼 백엔드스쿨 2기 5일차 D - 146 - 일정변경으로 인한 계획 수정

9월 22일 목요일 저녁 9시 쯔음에 멋사측의 내부 회의에 따라 교육과정에 대한 개선안이 나왔고 공지란으로 강사님 변경 공지에 대한 설명이 기재되었다. 3주차까지는 기존의 예정되었던 Java 기초, Java 심화 학습을 진행하고 그 이후에는 김경록 강사님이 수업을 진행하신다. 시니어 개발자 출신의 Java기반 백엔드 전문 강사이며 10년 이상의 백엔드 개발 경력이 있다고 한다 . 그리고 백엔드 개발과 대용량 데이터 처리에 대한 수많은 온/오프라인 강의 경력과 저서가 있다. 인프런에서도 확인할 수 있고 유튜브에서도 확인할 수 있었다. 주말에 같이 스터디를 하는 현업 개발자 형님도 강사님의 강의와 경력을 보고 훨씬 더 상황이 괜찮아 져서 다행이라고 하셨다. 그에 따라 나도 계획의 수정을 진행해야 할 것 같다..

멋쟁이 사자처럼 백엔드스쿨 2기 4일차 D - 147 : 반복문, 객체지향

반복문과 조건문에 대한 복습과 Lotto번호 만들기, Up&Down 게임 만들기에 대한 발표를 진행하였고 객체지향과 클래스에 관한 내용을 수업하였다 Up&Down 게임 만들기 의 코드를 리팩토링하고, 각 과목의 점수를 입력받고 출력하는 Grade 클래스를 만드는 과제를 진행하였다 객체지향 클래스 정의 후 객체생성 1. 클래스 정의 2. 참조 변수 선언 Circle obj; 3. 객체 생성 obj = new Circle(); 4. 객체의 필드 접근 obj.color = "blue"; 5. 객체 메서드 접근 double area = obj.calcArea(); 어떤 클래스로부터 만들어진 객체를 그 객체의 '인스턴스'라 한다. -> 객체는 모든 인스턴스를 대표하는 포괄적인 의미 -> 인스턴스는 어떤 클래스로부..

백엔드스쿨 자바 2일차 미션

1. Up & Down 숫자 맞추기 게임 package Mission; import java.util.Scanner; /** * UP & Down 숫자 맞추기 게임 */ public class Mission2 { public static void main(String[] args) { //1~100사이의 임의의 값을 얻어 randomMath 에 저장한다 - Math.random() 메서드 사용 int randomMath = (int)(Math.random() * 100) + 1; // 1 input) { System.out.println("더 큰 수를 입력하세요"); //1. 작을떄 } else if (randomMath < input) { System.out.println("더 작은 수를 입력하세요")..

멋쟁이 사자처럼 백엔드스쿨 2기 3일차 D - 148 : 반복문, 조건문, 배열

리터럴의 개념 - int num = 10에서 변수명 10은 '리터럴' -> 메모리에 할당 - 변수에 넣는 변하지 않는 데이터 - '상수'라는 표현으로 대신해도 좋다 public class finalClass { static final double PI = 3.141592; //클래스 변수로 선언 public static void main(String[] args) { double radius = 5.0; //반지름 5 double area = radius * radius * Math.PI ; System.out.println("원의 면적은 " + area); } } 형변환(캐스팅)이란? 컴퓨터는 연산시 '데이터 타입'을 맞추어야 한다 -> 컴퓨터는 '이진수'만 알아듣기 때문에 "두 피연산자의 자료형이 일..

멋쟁이 사자처럼 백엔드스쿨 2기 2일차 D - 149

1. 자바란? 플랫폼 호환성 문제 해결, 플랫폼(운영체제)에 독립적인 언어 개발 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하다. 프로그램의 변경이 필요하지 않다. mac os, window os, intel CPU에서도 Java Vertual Machine만 있다면 실행이 된다 자동 메모리 관리 -> 가비지 컬렉터가 자동적으로 메모리를 관리해준다 통역사 역할을 하는 '컴파일'이라는 과정을 거치게 된다 -> 프로그래밍언어를 기계어(01000101)로 바꾸는과정 -> .java(자바 소스파일)이 컴파일러(javac.exe)를 거쳐 바이트 코드 파일(*.class)가 되고, Java Vertual Machine(java.exe)를 거쳐 기계어가 되어 실행이 된다. 2. 변수란? 변수의 의..

멋쟁이 사자처럼 백엔드스쿨 2기 1일차 D - 150

배움에 앞서... 계단의 처음과 끝을 다 보려고 하지 마라, 그냥 발을 내딛어라 (feat. 마틴 루터 킹) You don't have to see the whole staircase, just take the FIRTS STEP 지식(컴퓨터에 대한 기반 지식) + 기술(코딩) + 태도 => 좋은 개발자 온라인 학습 하기에 앞서... 1. 수학은 암기과목, 이해과목? 만약 이해 못하면 어떻게 할 것인가? -> 수학은 '암기 과목'이다 2. 프로그래밍은 이해과목, 암기과목? -> '이해'는 '암기'가 기반이 되어야하고 그래야만 '응용'이 가능해진다 -> 잘 이해가 안되는 부분에 대해서는 '암기'도 하나의 학습 방법이다 -> 이해시키는것은 '강사'의 역할에 맡긴다 3. 절대 남과 비교하지 말것 -> but ..

멋쟁이 사자처럼 백엔드 스쿨 2기 D-Day 2 앞으로의 계획 9,10월

멋쟁이 사자처럼 백엔드 스쿨 2기가 시작일이 이틀 남았다. 오리엔테이션과 컴퓨터공학 수업을 포함한 '자바 기초'를 배우며 나에게 남은 여유시간은 주말을 포함한 17일 남짓이다. 이 기간동안 '자바의 정석 기초편'의 객체지향 부분부터 빠르게 강의를 볼것이며 박재성님의 '자바 플레이그라운드'강의를 보며 TDD와 자바의 구현 연습을 빠르게 할 것이다. 그와 동시에 그날의 강의 복습은 항상 해야할 것이다. 앞으로는 모든 시간과 계획을 구체적으로 함과 동시에 수치화 할 것이며, 외부의 자극에 최대한 줄이고 5개월동안 최대의 몰입상태를 만들것이다. 항상 하던것처럼 주 4회의 런닝과 팔굽혀펴기, 턱걸이를 포함한 30분의 맨몸운동, 자극적인 외식을 아예 없에고 집에서 정해진 식단과 브레인 푸드들을 섭취할 것이며 영양제..