일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스 마스터 1급
- literal
- Class
- 리눅스
- Java
- Polymolphism
- Entity Set
- spring
- Binary Search
- Reference Type
- BFS
- Operator
- Entity
- selenium
- 백준
- Mac
- External Scheme
- Inheritance
- 셀레니움
- X.org
- Unity
- python
- preprocessing
- descriptive statistics
- OOP
- systemd
- Physical Scheme
- 자바
- X윈도우
- dbms
- Today
- Total
목록OOP (5)
Byeol Lo
Casting 클래스 간의 타입을 변경하는 것을 Casting이라고 한다. sub class에서 super class로의 전환 그리고 super class에서 sub class로의 전환이 casting의 예가 되겠다. 여기서 전자를 Upcasting, 후자를 Downcasting이라고 한다. Upcasting class Person{...} class Student extends Person{...} Student s = new Student(); Person p = s; // Upcasting is occured! 선언해준 p에서 s를 넣어주기만 하면 Upcasting을 쓸 수 있다. 여기서 s라는 Student 인스턴스는 Person의 member를 접근할 수 있게 되지만, Student의 멤버에 접..
Method 메소드는 객체의 행동, 연산을 지정하는 것이다. public int getSum(int i, int j){ int sum; sum = i + j; return sum; } 메서드를 구분하는 것을 시그니처(Signiture)라고 하는데, 시그니처는 메서드 이름, 매개변수의 타입이 들어가 있는 리스트의 조합을 말하며, 둘이 전부 동일할 때 해당 메소드는 동일하다고 한다. Method: Instance Member 메소드에서도 인스턴스 필드 처럼 인스턴스 메소드라는 개념이 존재한다. 따라서 이는 instance를 통해서 접근할 수 있는 메소드이다. public class Car{ int gas; void setSpeed(int speed){ ... } } 위는 인스턴스 필드와 인스턴스 메소드의 예..
Axiom - "모든 것은 객체로 이루어져 있다."를 머리 속에 담고 읽자. Class(클래스) 객체들은 클래스로 부터 생성된다. 클래스는 설계도이다. 우리가 조립할 때, 각 부품들을 설명서에 맞게 조립하듯이 클래스는 객체를 만들기 위한 설계도(Frame/Blueprint)에 해당한다. (물론 각 부품들도 객체라고 볼 수 있다.) 객체들은 서로 관계를 형성하면서 상호작용을 한다. 그 관계에는 다음과 같은 세 가지 유형이 있다 Association : 연관 Composition/Aggregation : 구성 Inheritance : 상속 위의 관계들에 의해서 모든 객체들은 서로서로 영향을 주면서 실제 세계를 가상 세계로 구현시킬 수 있다. OOP(Objected Oriented Programming) 모든..
Java의 소개에 앞서 사전 개념들을 먼저 소개한다. Machine Language 오로지 Machine만 읽을 수 있는(readable) 코드이다. 특징으로는 Binary(0 or 1)로 되어 있으며, CPU만 오로지 이 코드들을 이해할 수 있는 언어이다. Programming Language 사람들이 읽을 수 있는 코드들을 프로그래밍 언어라고 부른다. 컴퓨터에게 명령을 하려면 Machine Language를 써야 하는데, 우리는 이에 대해 정확히 알지 못할 뿐더러 쓰기 난해하고 복잡하다. 따라서 우리는 Machine 과 Human을 이어주는 하나의 의사소통 수단인 Programming Language를 쓰게 된다. 따라서 Bridge between a machine and a human이라고 할 수 ..
우테코를 준비하면서 어떤 비즈니스 문제들을 해결하는데에 있어 많은 고려사항이 요구됨을 뼈저리게 느꼈다. 느낀점들이 많이 있지만 다 적을 수는 없기에 하나하나 적어나가 보려고 한다. 모든 내용은 저의 주관적인 생각임을 명시한다. 패키지 나누기 패키지 나누는 기준에 대한건 사람마다 각자 틀린 것 같다. 어떤 문제 유형이냐에 따라 갈리는데, 보통 웹사이트 구조면 MVC 패턴을 따르는 듯하고, 어떤 프로그램이라면 보통 Domain, Service, Controller 등을 기본적으로 가져가고, 거기에 더 추가하는 형태인듯 하다. 특히 Service는 비즈니스 로직의 트랜잭션 부분을 담당하고, 모든 객체들에서 활용할 수 있도록 작성해야 하고, 되도록 내장함수들만 import 하여 사용하는 편이 좋다. 패키지를 나..