목록Java Note/[프로그래머스] 자바 입문(동영상 강의) (9)
럿고의 개발 노트
[프로그래머스] 자바 입문 마무리 후기 사실, 우아한테크코스 프리코스를 위해서 자바에 대해서 한 번 더 상기시키기 위해 짧은 강의를 골라서 듣게 되었는데, 예상외로 너무나도 좋은 강의였다. 학원을 다니면서 이해 못했던 부분들을 이 강의를 통해 이해를 하게 된것 같다. 현재 듣고 있는 부스트코스 백엔드 강사님이 하신다는 것도 중간에 듣다가 목소리를 듣고 알아봤다. 부스트코스도 많은 공부가 되었는데 이번 자바 입문 강의도 엄청난 공부가 되었다. 프리코스는 객체지향개념을 이해시키기 위해 과제 조건들에 객체지향에 대한 것들이 많은데, 이번 강의를 듣고 객체지향 조건들에 대한 이해도를 잘 잡은 것 같아서 1주차 과제를 무사히 끝냈다. 사실 자바 중급이라는 다음 강의가 바로 준비되었는데, 그 강의도 잘 들어서 지금..
[프로그래머스] 자바 입문 Part9. 예외처리 1. Exception 인터페이스 만들기 프로그램 실행 중 예기치 못한 사건을 예외라고 한다. 예외 상황을 미리 예측하고 처리할 수 있는데, 이것을 예외처리라고 함. 예외처리 문법 오류가 발생할 예상 부분은 try 블록으로 감싼 후, 발생할 오류와 관련된 Exception을 catch라는 블록에서 처리 오류가 발생했든 안했든 무조건 실행되는 finally 블록을 가질 수 있음(생략 가능)try { 오류날것 같은 구문 } catch(오류) { 오류 발생시 실행문 } finally { 오류가 발생하던 발생하지 않던 무조건 실행될 문 } try블록에서 여러 종류의 Exception이 발생한다면 catch블록을 여러개 둘 수 있음. Exception클래스들은 모두..
[프로그래머스] 자바 입문 Part8. 인터페이스와 다른 형식의 클래스 1. 인터페이스 만들기 인터페이스 만들기 서로 관계가 없는 물체들이 상호 작용을 하기 위해서 사용하는 장치나 시스템을 인터페이스라고 함 인터페이스 정의 방법 추상 메소드와 상수를 정의할 수 있음. 인터페이스에서 변수를 선언하면 컴파일 시 상수로 변함 인터페이스에서 정의된 메소드는 모두 추상 메소드로 컴파일 시 추상 메소드로 자동 변경 인터페이스 사용하기 인터페이스는 사용할때 해당 인터페이스를 구현하는 클래스에서 implements 키워드 이용 인터페이스가 가지고 있는 메소드를 하나라도 구현하지 않는다면 해당 클래스는 추상 클래스가 됨. (추상클래스는 인스턴스를 만들 수 없음) 참조변수의 타입으로 인터페이스를 사용 가능. 이 경우에는 ..
[프로그래머스] 자바 입문 Part7. 상속 1. 상속 상속 부모가 가진 것을 자식에게 물려주는 것 is a 관계나 kind of 관계를 생각하면 됨 클래스 이름 뒤애ㅔ extends 키워드를 적고 부모클래스 이름을 적으면 부모 클래스가 가지고 있는 것을 상속 받을 수 있음 부모가 가지고 있는 메소드외에 추기로 메소드를 선언하는 것을 확장하였다고 표현 public class Car { public void run() { System.out.println("run"); } }public class Bus extends Car { // Car Class를 상속받은 Bus Class // public class 클래스명 extends 부모클래스명 // 상속이란, 부모가 가지고 있는걸 자식이 물려 받는것 // ..
[프로그래머스] 자바 입문 Part5. 클래스와 객체 1. 클래스 선언 클래스 자바는 객체지향언어로 프로그램을 구성하는 요소들을 객체로 보고 이것이 상호작용 하도록 프로그래밍을 함 자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 함. 클래스는 객체를 만들기 위한 일종의 틀이라고 생각하면 됨. 예를들어서 붕어빵이 객체라면 붕어빵 틀이 클래스 그러나 붕어빵 틀 클래스가 생성되었다고 해서 붕어빵이 만들어진 것은 아님. 즉, 붕어빵틀을 이용해서 객체를 생성해야 함. 그때 사용하는 것이 new연산자로 new연산자 뒤에 나오는 생성자를 이용해 메모리에 객체를 생성 메모리에 만들어진 객체를 인스턴스(instance)라고 함 클래스 선언 방법 class 클래스명 { .... } public class Car ..
[프로그래머스] 자바 입문 Part4. 배열 1. 배열만들기 1차원 배열 배열은 같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료 구조. 같은 데이터 타입을 가진 여러개의 변수가 필요할때 사용 선언방법 데이터타입[] 배열명 = new 데이터타입[배열길이]; // 선언 데이터타입[] 배열명 = { 데이터값 }; // 선언 및 초기화 public class ArrayExam { public static void main(String[] args) { int[] array1 = new int[100]; // 타입[] 배열명 = new(객체생성) 타입[길이] array1[0] = 50; // 값 넣는 법, index는 0번부터 시작 array1[10] = 100; int[] array2 = new ..
[프로그래머스] 자바 입문 Part3. 제어문 1. if문 if 조건문 조건식의 연산 결과에 따라 블록 내부 문장 실행 여부 결정 결과가 true일 경우에만 실행문이 실행 if문의 { }(블럭)을 생략 가능. 단, 실행문은 단 한줄만 포함 if(조건식) { 실행문; 실행문; } if-else 문 조건식이 true일 경우 if블록 실행문이 실행되고, false일 경우 else블록의 실행문이 실행 if(조건문) { 실행문; 실행문; } else { 실행문; } if / else if / else 문 처음 if문 조건식의 조건문이 true일 경우 처음 if문 블록이 실행되고, false일 경우 다음 조건식의 결과에 따라 실행 else if문의 수는 제한이 없지만, 많은 else if문은 실행 속도를 느리게 함..
[프로그래머스] 자바 입문 Part2. 변수와 계산 1. 변수 변수 자바는 강형 언어로써 모든 변수의 타입이 컴파일 시에 결정됨. 변수란, 값을 저장할 수 있는 메모리 공간 / 값이 변할 수 있는 수 변수의 선언 타입 변수명; 명명 규칙 변수의 이름을 정할 때 자바 언어에서 정해 놓은 규칙 Java Code Conventions Naming Java Code Conventions 식별자(identifier)는 클래스, 메소드, 변수 등 다양한 대상에 대해 이름이 붙여지는 경우 그 이름을 뜻함 식별자 명명 규칙 하나 이상의 글자로 이루어져야 함 첫 번째 글자는 문자이거나 '$', '_'이어야 함 두번째 이후의 글자는 숫자, 문자, '$', '_'이어야 함 '$', '_'외 특수문자 사용 불가능 길이 제한 ..
[프로그래머스] 자바 입문 Part1. 자바 시작하기 1. 자바란? 자바 언어 탄생 1995년 5월 썬 마이크로시스템즈에서 발표한 객체 지향 언어 (1996년 1월, JDK 1.0 발표 현재 썬 마이크로시스템즈는 오라클에 인수되어, 자바는 오라클 소유 객체지향언어(Object-Oriented Language) 1960년대 말 Simula언어에서 발전 시뮬라 위키백과 C++문법을 기본으로 개발 C언어에 객체지향 특성 확장 C와 C++에서 포인터, 다중상속 부분 제거 자바 언어 특징 C계열 언어에 비해 배우기 쉬움 플랫폼에 독립적 JVM(자바 프로그램 실행 도구)가 가능하게 해줌 JVM은 OS에 종속적 객체지향 프로그래밍 대표적인 장점 직관성, 재활용성이 강함 Garbage Collector C계열 언어는 ..