
🤔 제어자(modifier)란? ✔ 클랫와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 🤔 static이란? 🤔 final이란? 🤔 abstract 란? 추상의, 미완성의 ✅ 추상메서드란? ✔ 몸통이 없는 메서드 ✔ 미완성 메서드 ✔ 선언부만 있고, 구현부는 없다. ✔ abstract 키워드가 붙는다. ✅ 추상클래스란? ✔ 추상 메서드를 갖고 있는 클래스 추상클래스의 인스턴스 생성불가 ❌ abstract class AbstractTest { // 추상클래스 (추상메서드를 포함한 클래스) abstract void move(); // 추상 메서드(구현부가 없는 메서드) } AbstractTest a = new AbstractTest(); // 에러!! 추상 클래스의 인스턴스 생성불가 추상클래스는..

🤔 참조변수 super란? ✔ 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자) 내에서만 존재 ✔ 조상의 멤버를 자신의 멤버와 구별할 때 사용 🤔 this와 super의 차이점? this : 지역변수(local variable)와 인스턴스 변수(instance variable)의 구분에 사용 super : 조상의 멤버와 자신의 멤버 구분에 사용 다음의 예제를 보자. class T2 { public static void main(String[] args) { Child c = new Child(); c.method(); } } class Parent { int x = 10; /** super.x */ } class Child extends Parent { int x = 20; // this.x vo..

그간 필자는 객체지향이 정확히 무엇인지도 모르고 생성자, 오버로딩, 오버라이딩은 왜 배우는지도 모르고 주입식으로 학습했다. 객체지향 : 객체 단위로 프로그래밍 하는것, 코드의 중복 줄일 수 있음. 오버로딩 : 생성자 여러 개 생성하는 데 매개변수 다른 것 오버라이딩 : 상속받은 생성자 재정의 하는 것 등 이론식으로 공부했다. 그러다 다음의 예제를 만나고 모든 것이 한번에 이해가 되었다. 이전 필자의 포스팅에서 소개한 내용인데 필자의 시야가 확 트이는? 예제였기에 다시 한 번 포스팅 한다. (이전 포스팅 참고) 바로 들어가보자. 다음의 코드를 보자. (코드를 잘 짜는 것이 얼마나 코드를 단축시킬 수 있는지 알게 되는 코드이다.) 필자는 처음에 강의를 듣고 소름이 돋았다. 👍 class MyPoint3 ex..

🤔 상속(Inheritance)란? ✔ 기존의 클래스로 새로운 클래스를 작성하는 것.(코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어주는 것 ✔ ⭐ 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화블럭 제외) 따라서 ✔ 자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.) 왜냐 모든 멤버를 상속받으니까!! ✔ 자손의 변경은 조상에 영향을 미치지 않는다. 🤔 포함(composite) 관계란? ✔ 포함(composite)이란? 클래스의 멤버로 참조변수를 선언하는 것 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다. class Poitn { int x; int y; } class Circle { int x; // 원점의 x좌표 int y; // 원점의 y좌표 int r;..

🤔 생성자 this()란? 생성자에서 다른 생성자를 호출할 때 사용한다. 다른 생성자 호출 시 첫 줄에서만 사용가능! 다음의 예시를 살펴보자. Car(String color) { door = 5; Car(color, "auto", 4); // 에러, 다른 생성자 호출 시 반드시 첫 줄에서만 사용가능!! // 또한 같은 클래스 안의 생성자를 호출할 때 Car(color, "auto", 4); 로 호출하면 안되고 // this 사용해야함. } // 올바른 사용법 Car(String color) { this(color, "auto", 4); } 🤔 참조변수 this란? 인스턴스 자신을 가리키는 참조변수 인스턴스 메서드(생성자 포함)에서 사용가능 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 this..

🤔 인스턴스 메서드란? 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용 가능 🤔 static 메서드란?(클래스 메서드) 객체 생성없이 '클래스이름.메서드이름()'으로 호출 인스턴스 멤버(iv, im)와 고나련없는 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용불가 다음의 결과를 예측해보라. class MyMath { long a, b; long add() { // 인스턴스 메서드 return a + b; } static long add(long a, long b) { // 클래스 메서드(static 메서드) return a + b; } } public class Ch6_27Static메서..

🤔 메서드란? 문장들을 묶어 놓은 것 값(입력)을 받아서 처리하고, 결과를 반환(출력) 메서드 = 선언부 + 구현부 🤔 메서드의 장점? 코드의 중복을 줄일 수 있다. 코드의 관리가 쉽다. 코드를 재사용할 수 있다. 코드가 간결해서 이해하기 쉬워진다. int add(int a, int b) { // 선언부 int result = a + b; // 구현부 return result; // 호출한 메서드로 결과 반환 // 구현부 } ✅ 메서드는 클래스 영역에만 정의 가능하다 🤔 Return이란? 실행 중인 메서드를 종료하고 호출한 곳으로 되돌아가는 것 반환타입이 void가 아닌 경우, 반드시 return 필요 🤔 호출 스택이란? 스택(stack) : 밑이 막힌 상자. 위에 차곡차곡 쌓임. 호출 스택 : 메서드 ..

🤔 객체의 생성 // 클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수 선언 // 변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장 Tv t; // t : 참조변수 t = new Tv(); // Tv 인스턴스 생성 후, 생성된 Tv 인스턴스의 주소를 t에 저장 ✅ 순서 클래스 작성 -> 객체 생성 -> 객체 사용 🤔 객체 배열 객체 배열 == 참조변수 배열 🤔 클래스의 정의 클래스 == 데이터 + 함수 🤔 변수란? 하나의 데이터를 저장할 수 있는 공간 🤔 배열이란? 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 배열의 한계 : 같은 종류의 데이터만 저장할 수 있다. 🤔 구조체란? 서로 관련된 여러 데이터(종류 관계X)를 하나로 저장할 수 ..

🤔 클래스의 정의 클래스란 객체를 정의해 놓은 것이다. 🤔 클래스의 용도 클래스는 객체를 생성하는 데 사용한다. 그럼 객체란 무엇일까? 🤔 객체의 정의 실제로 존재하는 것 사물 또는 개념을 의미한다. 🤔 객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르다. 객체의 구성 요소 - 속성과 기능 객체 = 속성(변수) + 기능(메서드) 🤔 객체와 인스턴스 객체 : 모든 인스턴스를 대표하는 일반적 용어 인스턴스 : 특정 클래스로부터 생성된 객체(예 : TV 인스턴스) 클래스 -------------------> 인스턴스(객체) 인스턴스화 그럼 오늘도 열공하자 🔥

🤔 객체 지향 언어 컴퓨터 프로그래밍의 한가지 기법으로 절차적 프로그래밍 방법과 대조되며 객체를 만들고 객체를 사용하는 프로그래밍 방법을 의미한다. 객체지향 언어 = 프로그래밍 언어 + 객체지향개념(규칙) 객체 지향 언어의 장점 ❓ 코드의 재사용성이 높고 유지보수가 용이하다 중복된 코드를 제거할 수 있다. 즉, 프로그램을 데이터와 처리방법으로 나누는 것이 아닌 프로그램을 다수의 "객체"로 만들고 상호작용하는 방식이다. 명령어들로 이루어진 목록이 아닌 하나하나의 독립된 "객체"들의 그룹으로 생각하여 객체간의 메시지를 주고 받음으로서 연결하는 방식이다. 🤔 OOP 4대 핵심 개념 OOP (Object-Oriented Programming) : 객체 지향 프로그래밍 캡슐화 상속 추상화 ⭐ 다형성 ⭐ 다음 포스..
- Total
- Today
- Yesterday
- 코드
- 강의
- 정보처리 산업기사
- JPA
- 알고리즘
- 정보처리산업기사
- ORM
- 그리디
- 백준
- challenges
- 코틀린
- Java
- Kotlin
- 디버깅
- 해커랭크 자바
- 해커랭크 챌린지
- 자바의 정석
- 해커랭크 자바 챌린지
- 풀이
- 이코테
- 자바
- 22 정보처리산업기사
- Spring Security
- hackerrank
- 정보처리산업기사 공부법
- 해커랭크
- hackerrank challenges
- 22 정보처리 산업기사
- 챌린지
- 소스코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |