일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JVM
- 성장기록
- 객체지향 언어
- 내일배움캠프
- Token
- #스파르타내일배움캠프TIL
- 회고록
- Git
- Java
- 변수의 다양성
- 감사기록
- TiL_1st_0419
- diary
- Diary 해우소
- static
- 메서드
- 해우소
- #스파르타내일배움캠프
- 생성자
- 스레드
- 포맷은 최후의 보루
- KPT
- 인스턴스
- Java의 이점
- GitHub
- 스파르타내일배움캠프TIL
- Github_token
- 스파르타내일배움캠프
- #내일배움캠프
- 클래스
- Today
- Total
목록Dev 언어 정리 & Self QnA (13)
몬그로이
흔히 부모와 자식의 상속이라고 표현하기 때문에나 또한 Parent(부모) 와 Childe(자식) 이라고 표현하겠다 Parent 가 Child 에게 extend 해 준다Parent 클래스는 Child 클래스에 비해 추상적이다Child 클래스는 Parent 클래스에 비해 논리적이다그렇기 때문에 상속이 되면 개념의 범위가 달라진다개념이 더 좁혀지고, 메서드는 더 구체적이 된다하지만, 필드값은 변화가 없다 Parent 클래스는 개념의 범위가 더 크기 때문에 더 큰 창고가 필요하다Child 클래스는 개념의 범위가 더 작기 때문에 더 작은 창고라도 충분하다 그렇기 때문에 Parent 타입을 담을 수 있는 A 는 Child 타입의 인스턴스를 받을 수 있다하지만 Child 타입을 담을 수 있는 B 는 Parent 타입..
Java.lang 패키지 소속 class 리스트 Boolean Byte Character Character.Subset Character.UnicodeBlock Class ClassLoader ClassValue Compiler Double Enum Float InheritableThreadLocal Integer Long Math Number Object Package Process ProcessBuilder ProcessBuilder.Redirect Runtime RuntimePermission SecurityManager Short StackTraceElement StrictMath String StringBuffer StringBuilder System Thread ThreadGroup Threa..
운영체제가 컴퓨터 구성품을 컨트롤 하니까 그 구성품들은 운영체제 소유라고 할 수 있다더보기대표적으로 메모리, 하드웨어, CPU, 램 등이 있고그 안에서 생성된 파일이나 네트워크 연결도 포함된다그 운영체제의 소유물을 프로세스가 요청해서 사용하는 거고더보기즉, 프로세스는 운영체제에 의해 관리된다고 할 수 있다코드로 구성된 프로그램이 하드디스크에 저장되어 있다가실행되면 프로세스라는 인스턴스가 활동을 하게된다그 요청해서 받아온 것들을 스레드가 받아서 사용하는 것이다 이렇게 말하면 스레드가 프로세스와 완전히 별개일 것으로 보이는데, 아니다스레드는 프로세스의 한 흐름을 얘기하는데한 프로세스의 진행이 한 스레드만큼씩 진행한다고 생각하면 된다 그렇기 때문에 CPU입장에서는 한 스레드 만큼의 흐름이처리해야할 작업의 단위..
메서드를 정의할 때 리턴값이 없다면 void를 사용한다 메서드 옆 중괄호 안에 수행 내용으로sout키워드 또는 for문이 적혀져 있는 경우가 있다//예를들면void horn () { System.out.println("빵빵");}//이 형식은 이 메서드가 호출됐을 때 빵빵을 작동하는 기능을 넣고 싶은 경우이다 void는 리턴값이 없으면 적으라고 하는데for문이나 sout나 중괄호 안에 있기 때문에뭔가를 수행하는 거니까 결과가 존재하는 거 아닌가?라는 반발적인 생각이 든다 void method() {for문} 형태일 때for문이 수행할 것을 적는 자리에 적혀있는데도 불구하고 void를 사용하는 이유는? void는 '반환 타입'의 하나로 '반환하는 값이 존재하지 않는다'는 의미를 갖는다즉, 반환값의 존재 ..
얼핏 들으면 클래스 멤버와 인스턴스 멤버라는 단어는클래스들의 모임과 인스턴스들의 모임으로 잘못 해석할 수 있다더보기이는 영어와 한국어가 섞인 단어라서 충분히 일어날 수 있는 일이다직책을 앞에 붙이는 영어와 직책을 뒤에 붙이는 한국어..이 둘이 만나 영어발음을 한글로 그대로 옮겨 적어 놓고 한국인이 읽으니하지만 용어를 풀어서 쓰자면클래스(에 속하는) 멤버와 인스턴스(에 속하는) 멤버라고 하는게 더 적절하다 클래스를 생성할 때 여러가지 메서드와 필드(속성)을 정의한다그때 클래스 소속으로 만들 것인지, 인스턴스 소속으로 만들 것인지 결정하게 되는데클래스 소속으로 하기위해서는 static 이라는 키워드를 사용하면 된다 메서드나 필드를 클래스 멤버로 정의하면클래스 뿐만 아니라 인스턴스에서 동일하게 가져가므로클래스..
클래스는 부모-자식 관계가 존재한다부모클래스는 자식에게 method를 상속해주고자식클래스는 부모에게서 method를 상속받는다 그렇기 때문에 자식클래스는 부모의 메서드를 모두 가진채로 추가적 메서드를 갖는데,일부는 부모의 메서드를 덮어쓰기 하는 경우가 있다이를 overriding이라고 한다 overriding은 보통 부모 클래스의 메서드가 '개선'이 필요할 때 메서드이름은 동일하지만 기능은 개선된 메서드를 자식 클래스에 넣은 경우이다 일반적으로자식 클래스를 사용 중에 메서드A를 사용한 경우메서드A가 자식클래스의 메서드들 중에 속해있든 부모에 속해있든 상관없이 작동한다 물론, 이는 일반적인 경우이므로부모-자식 클래스 내에 overriding 상태가 없는 메서드들로만 이루어져 있을 때의 이야기이다 메서드A가..
답부터 말하자면'아니다' LinkedList 클래스는 Java에서 두 가지 인터페이스인 Queue와 List를 모두 구현했다Java에서는 인터페이스의 다중 구현이 가능하기 때문이다LinkedList 클래스는 Qeue의 선입선출(FIFO) 동작을 지원하는 Queue 인터페이스를 구현하면서도데이터의 순서를 유지하는 List의 특성을 가지고 있다따라서 LinkedList는 Queue와 List의 모든 동작을 수행하며Queue와 List의 모든 메서드를 구현한다이러한 다중 구현은 유연성을 제공하며상황에 따라 LinkedList를 Queue 또는 List의 생성자로 사용될 수 있다 ArrayListList와 RandomAccess 인터페이스List는 순서가 있는 데이터의 집합을 나타..
한 인터페이스의 바탕 아래 각각의 특징을 가진 클래스들이 있다한 클래스의 속성을 가진채 이름을 지어주면 그것이 인스턴스이며클래스의 속성을 가지고 있기 때문에 클래스에 속한 메서드를 사용할 수 있다 걷는 것이 가능한 인터페이스가 있다고 하자운동화를 신겨서 A타입을 만들고구두를 신겨서 B타입을 만들었다두 타입은 신은 신발 종류가 다르기 때문에 기능적으로 차이가 있다이렇게 구별되는 것이 클래스이며 두 클래스 모두 걷는 것이 가능하다 A타입을 선택하여 운동화를 붉게 물들이고또 A타입을 선택하여 운동화를 파랗게 물들였다이렇게 되면 두 경우는 서로 다른 존재라고 할 수 있다그래서 붉은 운동화, 파란 운동화 라고 이름을 붙여줄 수 있다이렇게 같은 기능의 다른 존재들이 인스턴스들이다하지만 두..