본문 바로가기

전체 글227

11.14 Annotation, Lambda, Stream ㅇ Annotation 주석이라는 뜻. 하지만 우리가 썼던 // , /* */ 같은 comment는 사람에게 정보를 전달하는것이고, Annotation은 프로그램에게 정보를 전달한다. ㅇ 표준어노테이션 @Override - 오버라이딩하는데 실수하면 컴파일러가 알려준다. @Deprecated - 새로운것으로 대체될때 기존의 것을 사용하지 않을 것을 권장할때 사용한다. @SuppressWarnings - 컴파일 경고메시지 나타나지 않게 함. @FunctionalInterface - 함수형 인터페이스의 선언이 바르게 됐는지 확인한다. ㅇ 메타 어노테이션 @Target - 어노테이션을 적용할 대상들을 지정함. @Documented - 어노테이션에 대한 정보가 javadoc으로 작성한 문서에 포함되게함. @Inh.. 2022. 11. 14.
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.