일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- 내부 클래스
- 최소신장트리
- 상속
- inheritance
- 인터페이스
- 생성자
- 프림알고리즘
- java
- Scanner
- abstract
- 백준
- 17472
- 열거형
- 제네릭
- enum
- 추상 클래스
- Encapsulation
- 와일드카드
- this
- 다형성
- 객체 지향
- nextInt
- 객체지향
- polymorphism
- 추상화
- Final
- 캡슐화
- 버퍼비우기
- Today
- Total
목록공부/JAVA (7)
쫑쫑이의 블로그
열거형은 관련있는 내용들을 모아 상수로 선언하는 자바 문법 요소이다 0부터 차례대로 자동으로 인덱싱된다 switch문 안에서 열거형을 사용할 수 있다 enum Weeks { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 제네릭이란 변수 타입을 정하지않고 일반화하여 정의한 후 인스턴스를 선언할 때 매개변수에 타입을 적어 사용하는 자바 문법 요소이다 클래스 선언 시 클래스 뒤에 사이에 타입 매개변수를 적어 사용한다 ex) , 등 제네릭 클래스에서는 클래스 변수를 사용할 수 없다 그 이유는 클래스 변수는 인스턴스를 생성하지 않고 호출할 수 있기 때문에 타입이 정해지지않은 변수를 호출해야하는 경우가 생길 수 있기 때문이다 * 제네릭 메서드는 ..
Scanner를 사용하여 입력값을 받는 과정 중에 다음과 같은 예시가 있으면 Scanner s = new Scanner(System.in); System.out.println("num 값 입력"); int num = s.nextInt(); System.out.println("str1 값 입력"); String str1 = s.nextLine(); // 실행 안됐다고 느껴짐 System.out.println("str2 값 입력"); String str2 = s.nextLine(); num 값을 입력하고 enter를 누르면 "str1값 입력"과 "str2 값 입력"이 연속으로 출력됐다 String str1 = s.nextLine(); 부분이 그냥 넘어가 구글링 해보니... nextInt가 버퍼에서 enter..
잡설로 Abstract을 보면 논문 가장 앞에 써있던 초록이 생각난다 공통적인 기능을 구체적인 내용(메서드 바디)은 정의하지 않고, 메서드 시그니처(메서드명, 반환타입, 매개변수)만 정의하는 것으로 알고 있다 ================================================================================== 추상화를 사용하면 코드 재사용성을 높혀 코드 중복을 줄이고 유지보수하는데 용이하다 추상 클래스 추상 클래스는 추상 메서드를 1개 이상 갖는 클래스이다 추상 클래스는 객체를 생성 할 수 없다 abstract 제어자를 클래스와 추상 메서드 앞에 적어준다 하나의 추상 클래스만 상속받을 수 있다 다른 클래스처럼 extends를 붙여 상속한다 추상 클래스는 일반..
다형성은 다양한 형태를 갖는 것이고, 장점으로는 재사용성이 있다고 알고 있다 다형성의 예시로 메서드 오버로딩과 오버라이딩이 있다고 알고 있다 ============================================================= 하위 클래스는 상위 클래스의 멤버의 수와 같거나 많은 멤버를 갖는다 상위 클래스에서 하위 클래스를 참조할 수 있다 하위 클래스 내에 상위 클래스 멤버들을 모두 가지고 있기 때문이다 반대로 하위 클래스에서 상위 클래스 참조할 수 없다 상위 클래스 내에 하위 클래스 멤버들을 모두 가지고 있지 않을 수 있기 때문이다 class Person { void status() { system.out.println("아는 사람"); } } class Friend exten..
캡슐화에 대해 알고 있던 것들을 먼저 정리해보면, 정보 은닉 목적으로 캡슐처럼 감싸서 접근을 제한한다 접근 제한자의 종류에는 public protected default private 가 있다 getter / setter 메서드 클래스 내부 변수에 직접적인 접근을 막고 메서드를 사용하여 변수에 접근하여 값을 얻거나 세팅하게 한다 캡슐화에 대한 대략적인 목적이나 내용은 알지만 왜 사용하고 접근 제한자 별 어디까지 접근을 허용하는지에 대해서는 잘 모른다 ====================================================================== 공부한 내용을 정리하면 캡슐화 의미와 목적 외부로부터의 데이터에 대한 접근을 막고, 내부에서만 사용하는 값들을 숨긴다 (정보은닉) ..
'캡상추다' 로 외웠던 기억이 있는 객체지향의 4대 특성 먼저 상속에 대해 알고 있었던 내용을 정리하면 상위 클래스에 하위 클래스의 공통 기능들을 정의하고 하위 클래스에서는 개별적인 기능 또는 공통 기능 재정의해서 재사용 오버라이딩은 상위 클래스의 메서드를 재정의하는 것 예를 들어 상위 클래스 동물은 걷는다 하위 클래스 사람은 2발로 걷는다 하위 클래스 말은 4발로 걷는다 오버라이딩과 오버로딩 항상 헷갈렸었다 ======================================================= 오늘 상속에 대해 공부한 내용을 정리해보면 상위 클래스에 있는 멤버들을 하위 클래스에서 상속 받아 사용한다 하위 클래스는 상위 클래스의 모든 멤버들을 포함하고 더 많은 멤버를 가질 수 있다 메서드 오..