일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- wrapper
- https://start.spring.io
- Jenkins
- bootstrap
- 루프
- Scanner
- 클래스
- 인텔리제이
- 컬렉션
- 빌드
- 메소드
- 언박싱
- 자동형변환
- unboxing
- 제네릭
- 무한
- Short
- 박싱
- Java
- 콜렉션
- 싱글톤
- 내장객체
- 제너릭
- suvlet
- maven
- dependency
- start.spring.io
- 싱글턴
- boxing
- Today
- Total
목록전체 글 (447)
Developer Gonie
리눅스 명령어 "pwd" 현재 위치의 경로를 알 수 있음 "mkdir 이름" 해당 이름을 가진 폴더생성 "cd 폴더명 혹은 경로" 폴더속 혹은 경로로 이동 dir : 현재 위치에 있는 모든 파일 및 폴더의 이름 출력 ls : list, 현재 위치에 있는 모든 파일 및 폴더의 이름 출력 -a : all, 숨겨진 파일 및 폴더도 보여준다. -l : long, 자세한 내용을 출력한다. (권한, 소유자, 수정일자, 파일이름 등) -s : size, 파일 크기 순으로 정렬하여 출력 -r : reverse, 원래 출력되던 순서의 반대로 출력 -R : recursive, 하위 디렉토리까지 출력 rm : 파일을 삭제할 때 사용. 옵션을 붙여 폴더도 삭제 가능 -f : 삭제할건지 말건지 묻지말고 바로 삭제 -r : 폴더..
* java.util.* 방식으로 java 폴더 아래 util 폴더 안에 들어있는 클래스를 전부 한 번에 추가 가능. 와일드카드 적용은 클래스 이름에만 적용 가능하다는 것도 알아두자. * System, Math 같은 클래스는 java.lang 패키지 안에 들어있는 클래스인데 java.lang 패키지는 컴파일러가 자동으로 import 해주어 따로 import 해주지 않아도 이 안에 포함되어 있는 클래스는 바로 사용할 수 있다. * import를 하지 않고 아래와 같이 패키지를 구체적으로 명시해주는 방식으로 클래스를 사용할 수 있기도 하다. 다만 import를 해주면 패키지 이름을 붙이지 않고도 호출이 가능해지는 편리함이 생김. ex) java.lang.System.out.println(java.lang.M..

* 패키지란? 폴더의 개념이다. 관련있는 것들을 하나로 모아두고 관리할 때 패키지를 사용한다. 지금까지는 보통 src 폴더에 클래스를 생성해 왔는데, 이 경우엔 defualt 패키지(폴더)에 모두 그 클래스들이 저장되는 형식이었다. 그런데, 이와 다르게 비슷한 클래스들을 하나로 모아두고 관리하고 싶다면 패키지를 생성해 여기에 저장해두고 import 해서 접근하는 방식을 사용할 수도 있다. 다른 패키지의 클래스, 그리고 그 내부의 생성자, 멤버함수를 public으로 만들어야 하는 이유 * 다른 패키지에 존재하는 클래스, 그리고 그 내부의 메서드, 생성자를 defualt 접근제어자로 정의했다면, 현 클래스에서 접근이 불가능하므로 이들을 모두 public으로 변경해줘서 정상적으로 접근이 가능하도록 하자. 이 ..

public - 접근가능한 경우 -> 누구나 protected - 접근가능한 경우 -> 같은패키지 + 패키지가 다르더라도 자식클래스 default - 접근가능한 경우 -> 같은패키지 private - 접근가능한 경우 -> 전부 불가, 오직 getter, setter 로 내부의 멤버변수에 접근가능한 접근제어자
* 다른 클래스의 멤버변수를 사용하고 싶을 때 주로 상속을 이용하긴 하지만 포함관계 방식을 이용하기도 한다. 코드 아래는 Stu클래스가 Per 객체를 포함하고 있는 관계에 대한 예시이다. 이런경우 Per 객체의 멤버변수에 접근하고자 한다면 이중으로 타고 들어가야 접근이 가능하다. class Per{ String name; int age; Per(String name, int age){ this.name = name; this.age = age; } }//Per class Stu { int kor, eng, math; Per p; // Per 객체를 포함. Stu(String name, int age, int kor, int eng, int math){ p = new Per(name, age); this...

* super.멤버변수로 부모의 멤버변수에 접근할 때, 부모의 멤버변수가 private이 아닌 경우에만 접근이 가능하다. * 자식클래스에서 부모의 멤버함수를 오버라이딩 하더라도 부모의 멤버함수에 접근이 가능하듯이 자식클래스에서 같은 이름으로 멤버변수를 선언해도, 부모의 멤버변수에 접근이 가능하다. 즉 덮여 씌워지는게 아닌, 아래와 같이 둘다 메모리에 존재하는 상태가 되어 언제든 둘 다 접근이 가능함. 단, 자식클래스에 같은 이름으로 멤버변수가 선언되어 있지 않는 경우에는 this.변수를 하면 부모의 것이 불린다. => 코드1, 코드2를 비교 코드1 class Parent { int x = 10; void method() { System.out.println("P_x:" + x); } }// Parent ..

* git 설치방법 및 지식은 windows를 기준으로 작성할 예정이다. 다른 운영체제는 다음을 참고하자(https://opentutorials.org/course/2708/15129) Git 설치 1. 공식 홈페이지 접속 후 오른쪽 하단의 다운로드 클릭 - Git 공식 홈페이지: https://git-scm.com/ 2. 32/64ibt 중 자신의 사양에 맞는 것을 골라 다운받기 3. 그저 Next만 계속 누르면 됨 더보기 4. 정상설치 확인을 위한 git bash 실행 - 이것은 리눅스 혹은 유닉스에서 사용하는 명령어로 윈도우를 제어할 수 있도록 하는 프로그램임. 5. 'git' 을 입력해보자. - 아래와 같이 뭔가가 뜨면 성공
* 상속은 클래스 이름 오른쪽에 'extends' 를 넣어 상속받을 부모를 지정한다. 또한, 상속시 부모의 생성자는 상속을 받지 않고, 메서드와 멤버변수만 상속받음을 알아야 한다. * 이렇게 상속받은 메서드는 이름, 리턴타입, 인자의 타입 및 개수를 수정하지 않고 {}의 부분만 수정하여 동작을 바꿀 수 있는데, 이렇게 상속받은 함수를 재정의 하는 것을 오버라이딩이라고 한다. 아래에서 처럼 자식 클래스가 display() 메서드를 재정의 하지 않았다면 display() 호출시 부모한테 상속받은게 호출됨. * super() - 생성자 첫줄에 보이든 보이지 않든 무조건 존재하는 코드로 부모생성자를 호출하는 메서드이다. 생성자내에서 단 한번만 호출이 가능하며, 자식 생성자에서는 몸통의 코드 시작전 부모 생성자를..
* 생성자(Constructor)란? new 를 통해, 객체의 메모리가 생성된 직후에 자동으로 호출되는 메서드로 리턴타입이 없는 메서드인데, 메서드 이름이 클래스의 이름과 같다. 생성자를 따로 정의하지 않으면 컴파일러가 자동으로 매개변수없는, 아무일도 하지 않는 디폴트 생성자를 추가한다. class Member { private String id; private String passwd; Member(){ // 컴파일중에 자동으로(디폴트로) 추가될 생성자 } } 생성자는 매개변수의 개수 및 타입을 다르게 하여 오버로딩 가능하며, 인자를 어떻게 주어 객체를 만드냐에 따라 호출되는 생성자가 달라진다. 역할은 객체를 생성함과 동시에 그 객체가 가진 멤버변수를 초기화 하는 용도로 사용된다. 인자를 받는 생성자를..
원래 정수의 배열 만들던 방식 + 객체생성하는 방식을 고려하면 쉽게 기억할 수 있다. 코드 class SeasonBook { String title; String name; int price; SeasonBook() { this.title = "JSP"; this.name = "써니"; this.price = 1000; } SeasonBook(String title, int price) { this.title = title; this.name = "임효상"; this.price = price; } SeasonBook(String title, String name, int price) { this.title = title; this.name = name; this.price = price; } void s..
* 멤버변수 이름과 매개변수 이름이 같다면, 멤버변수는 객체의 멤버변수임을 this를 통해 명시해줘야 한다. 그렇지 않으면 우선순위에 의해서 두 이름 모두 같은 멤버변수로 인식해 null로 초기화 되어 있는 변수에 다시 자신을 넣는 것이라 또다시 null이 대입되어 아래와 같은 결과가 나오는 것이다. 내가 예상했던 결과가 나오지 않는 코드 class Product { private String name; void setName(String name) { name = name;// 문제가 되는 부분 } String getName() { return name; } } public class Ex05_13_setter_getter { public static void main(String[] args) { P..
* getter메서드 private 멤버변수에 넣은 값을 가지고 갈 수 있는 메서드를 이렇게 부름 * setter메서드 private 멤버변수에 값을 넣는 메서드를 이렇게 부름 * private멤버변수 일반 멤버변수는 객체를 통해서 값의 접근 및 수정이 가능했던 것과 달리, 클래스 내에서 private형으로 선언된 멤버변수는 객체를 통한 접근이 불가능하다. 따라서, 클래스 내부에 있는 멤버함수를 통해서만 값을 변경 및 가져올 수 있는데 이것을 getter, setter 메서드가 수행함. 주로 멤버변수는 private으로 선언된다. 코드 class Book { private String title; private int price; void setTitle(String s) {// setter 메서드 ti..