반응형

Programming 45

[ JAVA 수업 DAY 07 - 08 ] 상속, 추상클래스, 객체형변환

상속 1. 확장성, 재사용성 2. 클래스 선언시 extends 키워드를 명시 3. 관계 - 부모 (상위, super) 클래스 - 자식 (하위, sub) 클래스 4. 자식클래스는 부모클래스에 선언되어있는 멤버변수, 메소드를 자신의 것처럼 사용할 수 있다. 단, 접근제한자에 따라 사용 여부가 달라진다. 5. super 키워드 6. 오버라이딩(재정의) class Parents { Parents() { } } class Child extends Parent { Child() { super(); } } Child c = new Child(); 객체를 생성하게되면 child 뿐만아니라 Parent 공간도 만들어진다. Child 디폴트 생성자에 super(); 라는 부모클래스 디폴트 생성자가 생략되있기 때문. 주의>..

Programming/Java 2020.05.05

[ JAVA 수업 DAY 06 ] 문자열

문자열 정의 자바에서는 문자열을 모두 객체로 취급한다. 즉, 클래스로 구성되있다. 실제 문자열을 제공하는 클래스는 String, StringBuffer, StringBuilder이 있는데 셋 다 java.lang 패키지에 있다. 근데 java.lang 내의 클래스는 굳이 import하지 않아도 다 자동 임포트가 되어있다. 문자열은 length() 메소드를 쓰고, 배열은 length 변수를 쓴다. 배열은 클래스가 아니라서 메소드를 못쓴다. 컴퓨터가 내부적으로 length를 활용해 알아서 해석한다. String 클래스 : 한번 생성된다음 변하지 않는 문자열에 사용 일종의 상수문자열. 한번 문자열을 만들면 절대 변경할 수 없다. ex) String str = “Hello world”; str = “abc”; ..

Programming/Java 2020.05.05

[ JAVA 수업 DAY 05 ] 클래스와 메소드

(클래스와 메소드의 기본적인 내용은 생략하고, 수업시간 내가 잘 알아둬야 할 내용을 필기한 위주로 정리했다.) 클래스 - 모든 객체들의 생산처 - 클래스 = 객체를 생성하는 틀 - 프로그래밍이 쓰이는 목적을 생각하여 어떤 객체를 만들어야 하는지 결정한다. - 각 객체들이 어떤 특징(속성과 동작)을 가지고 있을지 결정한다. - 객체들 사이에서 메세지를 주고받도록 만들어준다. 메소드 메소드 내에 return은 꼭 맨 마지막에만 들어오는 것은 아니다. void aaa() { print(‘A’); print(‘B’); return; print(‘C’); print(‘D’); } => 이럴 경우 C와 D는 출력하지 않고 호출자메소드로 돌아감. return 값은 대입 연산자를 통해서만 받아올 수 있다. ex) in..

Programming/Java 2020.05.05

[ JAVA 수업 Day 04 ] 배열

(배열의 기본적인 내용은 생략하고, 수업시간 내가 잘 알아둬야 할 내용을 필기한 위주로 정리했다.) 배열 배열이란? - 같은 종류의 데이터를 저장하기 위한 자료구조 - 크기가 고정되어 있다(한번 생성된 배열은 크기를 바꿀 수 없다) - 배열을 객체로 취급 - 배열의 요소를 참조하려면 배열이름과 색인(index)라고 하는 int 유형의 정수값을 조합하여 사용한다. 참조변수 배열 참조변수 배열의 경우 stack에 변수이름으로 된 공간이 생기고 Heap에 그 크기 개수만큼의 공간이 생긴다. 각 공간에 문자열을 할당하면 그 공간이 각각의 문자열을 저장한 heap 공간의 주소를 가리키게 된다. Strring[] strArr; // => stack에 공간 생성 strArr = new String[3]; // => ..

Programming/Java 2020.05.04

[ JAVA 수업 DAY 02 - 03 ] Java 반복문과 조건문

무한 루프 생성법 // while문 while(true) { } // for문 for( ; ; ) { } break문의 3가지 역할 break는 반복문과 switch 문에서만 사용 가능하다. 조건문에서 쓰면 컴바인할때 문법적 에러가 나타난다. switch 문에서 switch문을 빠져나오는 역할 반복문에서 반복루프를 벗어나는데 사용 중첩된 반복문을 한번에 빠져나갈때 break문에 라벨붙이기 loop01: while(true) { for( ; ;) { break loop01; } } // => break는 원래 가장 가까운 {}를 빠져나오지만, 자바의 독특한 특징중 하나는 break에 라벨을 붙이면 중첩반복문을 한번에 빠져나올 수 있다는 것이다. switch문도 마찬가지다. while (true) { p03..

Programming/Java 2020.04.12

[ JAVA 수업 DAY 01 ] Java 기초

0. 디렉토리 만들기 자바와 이클립스를 설치하면 기본적으로 두개의 폴더가 생긴다. bin : 버전관리 및 src에 저장된 .java로 이루어진 소스파일이 컴파일되어 .class 파일로 저장되는 곳 src : 소스코드 파일이 저장되는 곳 1. 자바언어의 특징 90년대부터 자바언어가 인기 많아졌다고 한다. 그 전까진 C나 C++이 한국에서 더 많이 쓰였는데, 인터넷망이 다 깔리며 자바가 많이 쓰이기 시작했다. 지금은 자바를 모르면 웹수업을 못한다. WORA : Write Once Run Anywhere - OS에 독립적인 언어를 뜻한다. C는 윈도우에서 만든 코드가 유닉스나 리눅스에서 실행이 안된다. 각 OS마다 개별의 C언어가 생기게 된다. 자바는 WORA 언어이다. 컴파일 + 인터프리터 : OS에 독립적..

Programming/Java 2020.04.12

맥 cmd를 이용해 git에 commit, push, pull 하기!

맥 커멘드 창에서부터 git으로 명령어를 사용하여 깃 repository에 commit, push와 같은 작업들을 해줘보자. 커멘드창 자체에 그리 익숙해져있지 않았기 때문에 꽤 어려웠지만, 한번 터득하니 할만했다. Git 기본 명령어 실습 명령어 cd : 원하는 디렉토리로 이동시켜준다. 명령어 cd .. : 현재 있는 디렉토리의 상위 디렉토리로 빠져나간다. 우선, 원격 저장소를 만들고자 하는 로컬 저장소의 주소를 찾아간다. 명령어 git status : 현재 깃이 연동되있는 상태를 보여준다. 해당 디렉토리에 repository가 없어서 not a git repository라고 뜬다. 명령어 git init : 해당 디렉토리에 git repository를 생성한다. empty git repository를 ..

git hub repository(저장소), branch, commit에 대하여

[20200406 과제] Github의 개념 설명 repository(저장소) repository란? 저장소(Git repository)란 말그대로 파일이나 폴더를 저장해 두는 곳입니다. 그런데 Git 저장소가 제공하는 좋은 점 중 하나는 파일이 변경 이력 별로 구분되어 저장된다는 점입니다. 비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로 구분해 저장할 수 있습니다. 원격 저장소와 로컬 저장소 - 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소입니다. - 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소입니다. branch b..

프로그래머스 레벨2 - 탑

문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다. 송신 탑..

반응형