객체
[Java] "" vs new String("")
[Java] "" vs new String("")
2023.03.19String Java에는 문자열을 쉽게 다룰 수 있는 String Class가 존재한다. 아마 객체 중에서 제일 많이 사용한 것이 무엇일까 생각해보면 거의 당연히 String 일거라 생각한다. 이렇게 많이 사용하는 만큼 사용법도 잘 알고 사용하면 금상첨화가 될 것이다. 먼저, String은 다음과 같은 방식들로 선언할 수 있다. public class Main { public static void main(String[] args) { String s1 = ""; String s2 = new String(""); } } 분명 딱 봐도 선언하는 방식이 다르다. 그런데 둘에게 차이가 없을까? 분명 어떠한 차이라도 있지 않을까? 그럼 이제부터 그 차이를 한 번 살펴보자 "" vs new String("") 위..
[OOP] 무분별한 Getter/Setter를 지양하라
[OOP] 무분별한 Getter/Setter를 지양하라
2023.03.16무분별한 Getter/Setter를 지양하라? 우리는 보통 개발을 할 때 getter와 setter 메서드를 생성하여 자주 사용하곤한다. 그리고 매우 편리하다. 하지만 이렇게 모든 멤버변수에 대해 getter/setter를 생성하여 사용하는 것이 좋을까? 객체지향 설계 시에 이를 지양하는 것이 좋다고 한다. 왜 그럴까? Setter를 지양하라? 개발은 혼자가 아니다 setter를 무분별하게 사용하면 다른 개발자가 해당 코드를 봤을 때 값을 변경한 의도를 파악하기 힘들어진다. public static void main(String[] args) { Lotto lotto = new Lotto(List.of(1, 4, 12, 32, 40, 41)); lotto.setNumbers(List.of(13, 14, ..
[OOP] instanceof의 사용을 지양하라
[OOP] instanceof의 사용을 지양하라
2023.03.14instanceof? instanceof는 인스턴스의 타입을 확인하는데 사용하는 연산자이다. 즉, 다음과 같은 형식으로 사용할 수 있다. 다음은 car이 Avante에 해당하는지 체크하는 조건문이다. if (car instanceof Avante) { System.out.println("is Avante"); } instanceof의 사용을 지양하라? 유용해보이는데 왜 지양하라고 하는 것일까? 객체지향적이지 못하기 때문이다. instanceof 보다는 다형성을 활용하여 작성하는 것이 권장되는데, 그 이유가 무엇일까? 다형성 vs instanceof 다형성 interface Car { void operate(); } class Avante extends Car { public void operate() {..