본문 바로가기
  • soobinhand의 기술 블로그
728x90

자바39

[JAVA] 추상 클래스 클래스 : 완성된 설계도 추상 클래스 : 미완성 설계도 (미완성 메소드를 포함하고 있다는 뜻) 추상 클래스로는 인스턴스 생성이 불가능하다. 상속을 통해서 자손 클래스에 의해서만 완성될 수 있다. 추상 클래스 자체로는 클래스의 역할을 못한다. 하지만 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스로서 중요한 의미를 갖는다. 어느 정도 틀을 갖추게 해주기 때문이다. 키워드 abstract만 붙이면 된다. 추상 클래스는 추상 메소드를 포함하고 있다는 것 말고는 클래스와 다른게 없다. 추상 메소드는 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이다. 메서드를 미완성 상태로 남겨 놓는 이유는 메소드의 내용이 상속받는 클래스에 따라 달라질 수 있기 때문에 조상 클래스에서는 선언부만 작성하고,.. 2022. 2. 21.
[JAVA] 인터페이스 인터페이스를 이해하기 전에 예를 들어보자. 이번 베이징 올림픽에서 스키점프를 하는데 A선수는 부스터가 달린 스키. B선수는 그냥 스키. C선수는 상당히 무거운 스키.... 이런 식으로 시합을 하면 평가 자체가 불가능하지 않나싶다. 모든 선수의 스키가 개성이 넘친다. 왜 이런 문제가 발생하는지? 바로 규격, 표준이 없어서 나타나는 상황이다. 따라서 올림픽 위원회는 다시 말을 한다. "부스터가 달리지 않은, 길이 n 무게 m인 스키만 가지고 오세요" 감이 온다. 팀 프로젝트를 할 때에 클래스를 모두 처음부터 구현하게 된다면 코드의 가독성도 떨어지고 시간도 오래걸린다. 다들 다른 메소드 이름, 필드 데이터 이름을 사용하기에 일관성도 떨어지고 읽기도 쉽지 않다. 아까 스키와 같은 상황이 발생한다. 누구 코드가 .. 2022. 2. 19.
[JAVA] 클래스, 객체, 인스턴스 컴퓨터를 전혀 모르는 내 친구가 물어봤다. 회사에서 들었는지. "자바에서 클래스, 객체, 인스턴스가 뭐야? 왜 쓰는겨??" 난감했다. 자바를 해왔고, 꽤 자신있다고 생각했는데 말이다. 다 내 오만이었다. 그에게 설명해주려고 공부해본다. 클래스 클래스는 무엇인가? 그냥 순수하게 학급, 반, 수업 등의 뜻이 떠오른다. 또는 자동차 브랜드 벤*의 클래스 시리즈가 생각난다. 영어를 모국어처럼 사용하는 이들은 이러한 어떤 그들만의 뉘앙스로 쉽게 생각할 수도 있을 것 같은데 나는 토종 한국인이라 "클래스"가 풍기는 뉘앙스를 알아차리는데 꽤 오랜 시간이 걸렸다. "불 좀 주라" 했을 때, 라이터를 달라는 뜻인것을 우리 한국인은 안다. 하지만 미국인이라면 그 뉘앙스를 알아차리기 힘들 수 있다. 객체지향 언어에서는 소프.. 2022. 1. 28.
[자바 프로그래밍 언어] 22장 기타 유틸리티 22.1 Formatter Formatter 클래스는 기본 값과 객체를 텍스트로 표현할 수 있게 해준다. 객체나 값을 텍스트로 표현하는 일반적인 방법은 객체의 toString 메소드나 적절한 래퍼 클래스의 toString 메소드를 사용하여 객체나 값을 문자열로 변환하는 것이다. Formatter를 사용하면 텍스트를 원하는 형식으로 변환할 수 있다. Formatter 객체의 주요 메소드는 format 메소드이다. 이 메소드의 가장 단순한 형식은 포맷 문자열과 포맷하고 싶은 객체나 값들을 인자로 받는다. 포맷 지정자는 % 문자로 시작하며 수행할 변환 타입을 지시하는 문자로 끝난다. f 변환 지시자는 인자로 10진수 형식으로 변환될 부동 소수점 값이 와야 한다. e 변환 지시자는 결과를 기수법으로 변환하는 부.. 2022. 1. 10.
728x90