일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 혼공챌린지
- doitandroid
- 프로그래머스
- 스터디
- 코테
- 자바
- 알고리즘
- Til
- 기술면접
- MySQL
- groupby
- CS
- 안드로이드
- 인프런
- 안드로이드스튜디오
- 정보처리기사
- 혼공파
- 혼공단
- Kotlin
- java
- 티스토리챌린지
- 정처기
- 코틀린
- Android
- SQL
- select
- join
- 오블완
- 자료구조
- 카카오코테
- Today
- Total
목록분류 전체보기 (371)
Welcome! Everything is fine.

💡 추상클래스(abstact class) 추상클래스는 구현코드 없이 메서드의 선언만 있는 추상메서드를 포함한 클래스를 말한다. 물론 추상메서드뿐만 아니라 구현메서드도 들어갈 수 있다. abstract 키워드를 사용하며, 추상클래스는 new(인스턴스화) 할 수 없다. 추상클래스는 상속을 하기 위해 만드는 클래스이기 때문에 자기 혼자 돌아가는 클래스가 아니다. 따라서 상위 클래스에서는 어떤 것을 보여줄지 정의하고, 하위 클래스에서 구체적으로 어떤 것을 보여줄지 구현한다. 즉, 상위 클래스에서 구현하지 못하고 하위 클래스에 위임해야하는 부분을 추상메서드로 만든다. 다음 코드는 구현 코드는 없지만 구현부는 존재하는 메서드다. public void display() {}; 그러나 다음 코드는 구현코드는 물론 구현..

💡 가상 메서드(virtual method) 가상 메서드란 인스턴스의 메서드가 호출되는 것을 말한다. 재정의가 되어있지 않은 경우 부모 클래스의 메서드를 호출하지만, 재정의가 되어있을 경우 메서드 영역은 2개가 된다. 이때 재정의된 자식 클래스의 메서드를 호출하는 것이다. 이 가상메서드에 의해서 다형성이 구현된다. 아래 코드를 예시로 들면, 부모 클래스인 Customer 클래스에서의 calcPrice()메서드는 자식 클래스인 GoldCustomer 클래스에서 기능이 더 추가되어야한다. 보너스 포인트 비율도 다르고, 할인도 해주기 때문이다. 그래서 GoldCustomer 클래스를 보면, calcPrice()메서드를 재정의하여 사용했다. public class Customer { protected int c..

💡 상속 상속을 사용하면 객체 지향 프로그램에서 다형성을 구현할 수 있다. 클래스를 정의할 때, 이미 구현된 클래스를 상속받아서 속성이나 기능이 확장되는 클래스를 구현한다. 상속이라는 것이 무조건 어떤 클래스를 가져다 쓴다는 의미는 아니다. 일반적인 클래스가 이미 정의가 되어있고, 그 클래스보다 좀 더 구체적인 클래스를 만들때 사용한다. 상속을 쓸 때는 다음과 같이 extends 키워드와 함께 사용한다. class B extends A{ } ✔ 상속 하는 클래스 : 상위 클래스, parent class ✔ 상속 받는 클래스 : 하위 클래스, child class ✔ 상위 클래스는 하위 클래스보다 일반적인 의미를 가짐. ✔ 하위 클래스는 상위 클래스보다 구체적인 의미를 가짐. 강의에 나온 예시 코드로 설명..

💡 배열 배열 선언하기 배열은 프로그래밍에서 매우 많이 사용하는 자료구조로, 여러개의 동일한 자료형을 한꺼번에 순차적으로 관리할 수 있다. 일일히 변수를 선언할 수도 있지만 그 수가 많아지면 매우 불편하기 때문에 배열을 사용하는 것이 효율적이다. 인덱스 혹은 첨자연산자[ ]를 사용하여 사용한다. 모든 배열의 순서는 0부터 시작하며, n개 배열은 0부터 n-1위치까지 자료가 존재한다.배열을 선언하는 방법은 두 가지가 있으며, 다음과 같다. // 자료형[] 배열이름 = new 자료형[개수]; int[] arr = new int[10]; // 자료형 배열이름[] = new 자료형[개수]; int arr[] = new int[10]; 또한 배열은 고정된 길이를 가지기 때문에(Fixed-length) 배열을 사용..

💡 static 변수 static 변수는 여러개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용한다. 인스턴스가 생성될 때 마다 다른 메모리를 가지는 것이 아니라 프로그램이 메모리에 적재(load)될 때 데이터 영역의 메모리에 생성된다. 사용 방법은 다음과 같다. static int serialNum; 예를 들어 다음과 같은 학생 클래스가 있고, 각 학생마다 학번을 10000부터 시작하여 1씩 증가시켜 부여하려면 어떻게 해야할까? public class Student { int studentID; String studentName; } 어떤 기준이 되는 숫자(예시에서는 10000)가 있어야 그 숫자에 +1을 해서 학생1에게 주고, 거기서 또 +1을 해서 학생2에게 줄 수 있을 것이다. 다시말해 그 기..

💡 용어 정리 ✔ 외부 모듈 : 다른사람이 만들어 제공하는 모듈. ✔ 제어 역전 : 개발자가 만든 함수를 모듈이 실행하는 것. ✔ 라이브러리 : 개발자가 모듈의 기능을 호출하는 형태와 같이 정상적인 제어를 하는 호출하는 형태와 같이 정상적인 제어를 하는 모듈. ✔ 프레임 워크 : 모듈이 개발자가 작성한 코드를 실행하는 형태의 모듈. ✔ pip install : 외부 모듈을 설치할 때 사용하는 명령어. ✔ 엔트리 포인트 : ✔ __name__=="__main__" ✔ 패키지 : 모듈이 모인 것. ✔ 객체 : 여러 가지 속성을 가질 수 있는 모든 것. ✔ 추상화 : 프로그램에서 필요한 요소만을 사용하여 객체를 표현하는 것. 즉, 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 ..

💡 참조 자료형(reference data type) 변수 자료형의 종류는 다음과 같다. 기본 자료형 : int, long, double 등 기본적으로 제공되는 자료형. 참조 자료형 String, Data, Student 등 기존의 자바 라이브러리(JDK)에서 제공하거나 사용자가 직접 만들어서 사용하는 자료형.(클래스) 학생 클래스에는 학생 ID, 이름, 과목 등을 넣을 수 있을 것이다. 그런데 과목이라는 속성이 학생에 포합된 속성이지만 과목이 점점 늘어나고, 과목에 대한 정보(점수, 이름, 선생님, 최고점, 최저점 등)가 늘어난다면 학생 클래스는 아래와 같이 매우 복잡해질 것이다. public class Student { int studentID; String studentName; int koreaS..

📌 J2KB_초급 JAVA 스터디 목표 인프런 완강하기 Java에 대한 기본적인 내용 익히기 미니 프로젝트 완성하기 계획 notion을 통하여 공부계획을 세우고, 매주 캘린더에 그날의 공부 인증 링크와 백준 문제 풀이 1개 이상을 올린다. 토요일 정기 세션에서는 잘 이해가 가지 않는 부분에 대하여 이야기 해본다. 날짜 공부 범위 21.08.08 ~ 21.08.14 클래스와 객체1(1) ~ 클래스와 객체2(3) 21.08.15 ~ 21.08.21 클래스와 객체2(4) ~ 상속과 다형성(1) 21.08.22 ~ 21.08.28 상속과 다형성(2) ~ 인터페이스와 다형성 구현(2) 21.08.29 ~ 21.09.04 인터페이스 활용하기(3) ~ 컬렉션 프레임워크 - Stack, Queue, HashSet 21..