5/7 생활코딩 JAVA - 오버로딩, 메소드 시그니처, 접근제어자, 추상, final, 인터페이스, 다형성, 예외처리, Object, equals, 상수/enum
5/7 공부내용 커리큘럼: 오버로딩(복습) ~ 상수, Enum - 원래 오늘 꼭 끝까지 정주행하고 싶었는데 input량이 너무 많다. 무리해서라도 들으라고 하면 들을지 모르겠지만, 전혀 내게 도움이 될 것 같지 않다. 내일은 마무리 지을 수 있을 것같다. - 여태 배우면서 끄덕끄덕하고 다 이해되던 것들이 많았지만, 지금은 좀 복잡한게 많다. 오늘 복습 노트 제대로 읽어봐야할 것 같다. 1) 오버로딩이란? 오버로딩 함수를 정의 하는 법? 자바는 매개변수 타입이나 갯수가 다르다면 다른 함수로 인식한다. 메소드 이름이 같지만 input parameter에 따라 메소드가 다르게 동작하는 방식을 오버로딩이라고 한다. 왜 오버로딩을 쓸까? 매번 같은 취지의 함수를 새로운 이름으로 만들어주면 사용자 입장에선 헷갈리고 코드 양은 많아진다. 만약 하나의 메소드가 매개변수의 속성에 따라 알맞는 메소드를 실행시켜줄 수 있으면 이 문제를 해결해줄 수 있기 때문에 유용하다. 오버로딩할 때 주의점은 매개변수의 이름과 리턴값(형식)은 반드시 같아야 하며 매개변수는 달라야한다는 것이다. (매개변수의 이름은 상관 없다) 2) 메소드의 시그니처란? 메소드의 이름, 매개변수의 형식, 리턴타입 public static void A(int a); { System.out.println("Hello World!") } 에서 A() : 메소드의 이름 / int a : 매개변수의 형식 / void : 리턴타입 3) 접근제어자의 효용? 접근제어자는 자기 자신이 아닌 다른 클래스에서 자신의 멤버로 접근할 수 있는 '공적인 접근'과 자신 클래스만이 할 수 있는 '사적인 접근'을 나누는 개념이다. 왜 나눌까? 만약 공적인 자원(멤버)를 아무나 침범할 수 있다면 자원에 문제가 생겼을 때 해당 자원에 엑세스 하는 모든 주체들이 혼란스러워질 수 있거나 그 자원의 값이 달라져서 통일성이 없어질 수 있다....