상속 extends : 기존 클래스의 속성과 기능을 물려받는 것.(재사용)부모클래스(슈퍼클래스) / 자식클래스(서브클래스)자바는 단일상속만 지원한다(다중상속의 경우, 상속의 모호함이 생김) --> 대신에 interface의 다중구현을 통해 해결한다. 상속과 메모리 구조!- 자식객체 생성시에 , 참조값 하나인 인스턴스에 부모클래스와 자식클래스 정보를 둘다 생성한다.(외부에서 볼때는 하나의 인스턴스 같지만, 내부에서는 부모와 자식이 모두 생성되고 공간도 구분되어 메모리 생성된다)--> 메소드 호출시에 호출하는 변수의 타입(클래스)를 기준으로 선택한다.--> 이떄, 자식 타입으로 호출했는데 자식 클래스에 메소드가 없다면, 부모 메소드를 호출하게 된다.(그래도 없으면 컴파일에러!) ** 널포인트 객체를 ..
자바 메모리 구조 - 메서드 영역: 모든 영역에서 공유, 클래스 정보, static- 스택 영역 : 지역변수, 중간 연산 결과, 메소드 호출정보(종료되면 stack에서 삭제), 각 쓰레드 별로 생성됨- 힙 영역 : 객체(인스턴스), 배열이 생성되는 영역 , GC가 이루어지는 영역 * 인스턴스는 내부에 변수와 메소드를 가진다. 하지만 인스턴스가 생성될 때, 변수에는 메모리(힙에)가 할당 되지만 메서드에 대해서는 새로운 메모리를 부여하지 않는다. 메서드는 메서드 영역에서 코드를 호출하여 수행하게 된다. static - 인스턴스 끼리 공유할 수 있게 한다. (메서드 영역을 참조), 붕어빵 틀에서 나온 - static이 붙은 필드를 클래스,static, 정적 변수라고 함(static 안 붙은 필드는 인스턴스 ..
접근 제어자 : 접근 제어자는 멤버 또는 클래스에 사용하여 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할 **왜 외부에서 클래스 내부로 접근 못하게 캡슐화를 할까? --> 클래스에서 정해놓은 로직들을 무시한 채, 데이터를 변경하는 상황 발생할 수 있기 때문(따라서 보통 클래스들을 데이터들을 private하고 필요 기능들을 외부로 열어놓는다 ex자동차)접근제어자 필요 이유 : 다른 외부 클래스에서 접근 하지 못하게 하기 위함. 종류 : private--> default--> protected(상속관계면 허용) --> public특징 1. 클래스는 default, public 만 사용가능 2. 하나의 java 파일 안에 여러 클래스 생성 가능하지만, public 클래스는..
package : 클래스들의 기능적 묶음, 프로그램이 커질수록 필요함(JAVA의 폴더, 디렉토리)import : 해당 클래스를 불러와서 바로 접근 가능, 원래는 패키지를 포함한 클래스의 전체이름을 적어서 객체생성해야함 패키지의 이름의 앞부분에는 일반적으로 회사의 도메인 이름을 거꾸로 사용한다.ex) com.company.myapp--> 외부라이브러리 함께 사용시에 같은 패키지안에 같은 클래스이름 존재가능성 높아지기 떄문에 회사명으로 중복 방, 거꾸로 사용으로 방지 및 오래된 관례로, 하나의 컨벤션이 된 느낌. String, Integer, System 등, 대부분의 클래스에서 자주 사용되는 클래스들은 모두 java.lang 패키지에 포함되어 있다. 워낙 자주 사용되므로 별도의 import 키워드 없이도..
자바의 변수 데이터타입은 크게 2가지 : 1.기본형(사용하는 값을 직접 넣음, 소문자로 시작 ) --> int , long, double, boolean 2.참조형(객체가 저장된 메모리 위치 가르키는 참조값 저장,Reference Type) --> Student 사용자 정의 클래스, String - 객체 : . (dot) 을 통해 메모리상에 객체에 접근 - 배열 : [ ] 를통해서 메모리상에 생성된 배열 찾아서 사용 가능 참조형은 연산 불가능 객체에 접근하여 멤버변수로 연산 사용 --> int sum = s1.grade + s2.grade String의 경우 참조형이지만 기본형처럼 사용가능하게끔 연산처리 기능, 문자값 바로 대입 기능을 자바에서 지원 자바의 대원칙 : "자바는 항상 변수의 값을 복사해서 ..

- 배열 배열사용해서 관리하는 이유 : 동일한 데이터타입끼리 묶어서 관리하기 용이함. 문제점 : 하지만 한 객체(인스턴스)의 데이터가 여러 배열로 관리하기 시작 되면 데이터 변경시 정확한 인덱스의 값들을 수정 및 삭제해야 하기 떄문에 위험하게 된다.(사람이 관리하기 좋지 못한 방식, 데이터 관리가 어렵다.) - 클래스 *객체 생성시(new 연산자) 메모리(RAM) 에 올라가서 공간 확보됨. ex) student1 = new Student() dot(.)을이용해서 실메모리에 접근함. Class : 객체를 생성하기 위한 틀, 변수(속성)+기능(메소드)로 정의되어진다. Object, Instance : 클래스로 부터 생성된 실 객체. * 어떤 특정 클래스로부터 나온 것을 강조할 때는 Instance 표현을 사..
- Total
- Today
- Yesterday
- Merge Request #Pull Request
- Netlify #CICD
- 나머지연산 분배법칙
- 버팀목 국민은행
- safe operator
- Property or method "" is not defined
- Optinal Chaining
- 알고리즘 나머지연산
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- Prim vs Dijkstra
- java 김영한 강의 #2chapter
- vue정리
- 프로그래머스 네트워크
- JAVA설치 #JDK #JRE
- SSAFY 6기
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- 코드리뷰 #클린코드
- JAVA 코테
- Java
- SQLD 후기
- #web /was 구분이유
- vue 특징
- git #
- Java #replace #replaceAll
- push to origin has encountered a problem
- String Immutable
- 부트스트랩 템플릿 사용시 충돌
- 청년 버팀목 대출
- 자바 코테 유용한 함수
- git branch strategy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |