본문 바로가기

부트캠프/백28

11.11 컬렉션 연습문제 1번부터 23번까지는 수월하게 풀었는데 24번이 정말 어려웠다. 블로깅을하며 다시한번 이해해 봐야겠다. 문제 : 문자열을 입력받아 문자열을 구성하는 각 문자(letter)를 키로 갖는 HashMap을 리턴해야 합니다. 각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미하는 int 타입의 값이어야 합니다. 출력 : 타입을 요소로 갖는 HashMap을 리턴해야 합니다. 주의사항 : 빈 문자열을 입력받은 경우, null을 리턴해야 합니다. 수도코드를 작성해본다. import java.util.*; public class Blank { public HashMap countAllCharacter(String str) { HashMap hashMap = new HashMap(); // str순회 //str... 2022. 11. 14.
11.10 enum, 제네릭, 예외, 컬렉션 프레임워크 ㅇ enum(enumerated type) -- 열거형 여러 상수들을 보다 편리하게 관리할수 있게 한다. 보통 상수형은 final을 붙혀 선언가능함. 열거형은 여러가지 변하지 않는 값들을 다루는데 사용함. 상수명이 중복되는 문제는 인터페이스로 해결 가능하지만, 타입안전성이라는 문제가 생긴다. interface Seasons{ int SPRING = 1, SUMMER = 2, FALL = 3, WINTER = 4; } interface Frameworks{ int DJANGO = 1, SPRING = 2, NEST = 3, EXPRESS = 4; } 코드가 이렇게 되면 Seasons의 SPRING과 Frameworks의 SPRING은 다른개념이다. 이 문제를 해결하기 위해선 서로 다른 객체로 만들어줘야 한.. 2022. 11. 14.
11.8 다형성 추상화 객체지향 프로그래밍의 4개의 기둥 상속 캡슐화 다형성 추상화 (상캡다추) 중에 다형성과 추상화를 마저 배웠다. ㅇ 다형성(polymorphism) *** 하나의 객체가 여러가지 형태를 가질 수 있는 성질을 의미. Java에서 다형성은 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미함. 상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것. class Friend{ . . .} class Girlfriend extends Friend{ . . .} Friend girlfriend = new Girlfriend(); - - - - - > 가능 Girlfriend friend2 = new Friend() - - - - -> 불가능. Friend.. 2022. 11. 9.
11.7 상속, 캡슐화 객체지향 프로그래밍의 4개의 기둥 상속 캡슐화 다형성 추상화 (상캡다추) 중에 상속과 캡슐화에대해 공부를 진행했다. ㅇ 상속 ** 기존 클래스를 재활용해 새로운 클래스를 작성하는 문법요소. 하위클래스는 상위클래스의 모든 요소 사용가능. 기존의 코드를 재사용해 보다 적은양이돼어서 코드의 중복을 제거 가능하다. 자식클래스명 extends 부모클래스명{ . . . } 이름은 상속이지만 실제로는 extneds(확장)의 뜻에 더 가까움. ㅇ 포함관계 ex) public class Employee{ int id; String name; Address address; . . . . class Address{ String city, country; . . . . } 상속처럼 클래스를 재사용하는 방법이다. 클래스 멤버.. 2022. 11. 7.