일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 항해99
- 암호학
- js
- 코테
- dbms
- BFS
- 공개키 암호화
- 크루스칼
- 자바의정석
- jsp
- JPA
- Java
- mybatis
- sql
- python
- Queue
- javascript
- 자료구조
- 가상컴퓨팅
- 코딩테스트준비
- generic class
- 코딩테스트
- Algorithm
- dfs
- til
- spring
- 개발자취업
- 알고리즘
- 99클럽
- DB
- Today
- Total
목록개발 공부/Java (25)
PLOD
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfJthj/btrWc21nBaC/Ua7KkIl1K3oa3jdj9CeLC0/img.png)
업캐스팅(upcasting)은 자동 타입 변환(묵시적 타입변환)이라고도 하며 자식 클래스(Dog)의 타입을 부모클래스(Animal)로 변환하는 것을 의미한다. 다운캐스팅(downcasting)은 명시적 타입 변환 업캐스팅 괸 것을 다시 원래대로 되돌리는 것을 의미한다. 자손타입 -> 조상타입(Up-casting) : 형변환 생략 가능 자손타입
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b3eD1L/btrV68gNqHH/u44F0BWqHVegTYtFVk15I1/img.png)
* 클래스(class) 클래스는 하나의 클래스로부터 여러 개의 객체를 생성하기 위해 사용되는 하나의 판이자, 특정 작업을 수행하기 위한 명령문의 집합. 자바에서는 반드시 new 연산자를 사용하여 객체를 생성한다. 보통 클래스는 변수와 메서드로 이루어져 있다. // Student 클래스 생성 public class Student{ public String studentName;//학생이름 public int studentNum; //학번 } 위의 클래스를 보면 학생이름 과 학번 변수를 생성해 주었다, 클래스 내에서 생성되는 변수들을 통틀어 필드(인스턴스 필드) 라고 한다. 클래스를 만드는 이유? 객체지향프로그래밍을 위해 객체지향프로그래밍은 자바 프로그래밍의 핵심이다. *객체지향프로그래밍의 특징 - 추상화 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkO9XC/btrSIsRYKmS/L9ZiXwz3kaQKY4QAWKOEd0/img.png)
접근 지정자는 접근 제어자라고도 불리며, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스나 멤버에서 접근 제어자를 사용하는 이유는 클래스의 내부에 선언된 데이터를 보호하기 위해서이다. 데이터가 유효한 값을 유지하도록, 또는 비밀번호와 같은 데이터를 외부에서 함부로 접근하지 못하도록 하기 위해서는 외부로부터 접근을 제한하는 것이 필요하다. 이것을 데이터 감추기(data hiding)이라고 하고 OOP에서 캡슐화에 해당한다. 자바의 접근 지정자는 클래스 내에서 멤버의 접근을 제한하는 역할을 한다. 접근지정자의 종류는 private , public, protected, default가 있다. 한정자 클래스 내부 동일 패키지 하위 클래스 그 외의 영역 public ● ● ●..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brzq7u/btrQYtdc1xE/7RHCPji5pjGYRkQ3fA6lHk/img.png)
상속(inheritance) 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다, 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리 할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 위 그림에서, 상위클래스(A)를래스를 parent class, base class, super class 라고 하고 하위에 있는 클래스(B)를 child class, derived class, subclass 라고 한다. 상속에서 자식 클래스와 부모 클래스는 is -a 관계가 성립한다. 반대로 부모 클래스와 자식클래스는 has-a 관계가 성립하게 된다. 자식클래스는 부모클래스에서 확장한다는 의미로 extends 키워드를 사용해 상속 관계를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/x5yWj/btrQVz4YsTO/HUfwmjwwzRQL5ONKHkml0k/img.png)
객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스 클래스 : 객체를 프로그래밍 하기위해 코드로 정의해 놓은 상태 public class Student{...} 인스턴스 : new 키워드를 사용하여 클래스를 메모리에 생성한 상태, 생성된 인스턴스는 동적메모리 (heap memory) 에 할당된다. Student student = new Student(); 멤버 변수 : 클래스의 속성, 특성 메서드 : 멤버 변수를 이용하여 클래스의 기능을 구현하 함수 참조 변수 메모리에 생성된 인스턴스를 가리키는 변수 참조 값 : 생성된 인스턴스의 메모리 주소 값 1. 자료형 1) 기본 자료형 byte (-128~127) long (* 기호 : 1L) int short char boolean float double 1b..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bw6wYi/btrQJPBqkk0/t3zt340KvK4nTiNg5YrDK0/img.jpg)
메서드 사용의 장점 1. 코드 재사용: 메서드는 특정 기능을 캡슐화하므로, 필요할 때마다 그 기능을 다시 작성할 필요 없이 해당 메서드를 호출함으로써 코드를 재사용할 수 있다. 2. 코드의 가독성: 이름이 부여된 메서드는 코드가 수행하는 작업을 명확하게 나타내므로, 코드를 읽는 사람에게 추 가적인 문맥을 제공한다. 3. 모듈성: 큰 프로그램을 작은, 관리 가능한 부분으로 나눌 수 있다. 이는 코드의 가독성을 향상시키고 디버깅을 쉽 게 만든다. 4. 코드 유지 관리: 메서드를 사용하면, 코드의 특정 부분에서 문제가 발생하거나 업데이트가 필요한 경우 해당 메서 드만 수정하면 된다. 이렇게 하면 전체 코드 베이스에 영향을 주지 않고 변경 사항을 적용할 수 있다. 5. 재사용성과 확장성: 잘 설계된 메서드는 다..