⁂ Java
[JAVA] #8-5 익명 내부 객체(Anonymous class)
1. 익명? 익명이란 말 그대로 이름이 없는 객체이다. 그래서 무명 클래스라고 부르기도 한다. 이 게시물에서는 인터페이스 안에서 사용되는 익명 내부 객체에 대해 알아보려 한다. 우선 익명을 이해하기 위해서는 이름이 없는 이유에 대해 생각해보아야 한다. 왜 이름이 없을까? 기억될 필요가 없다는 뜻이다. 즉, 다시 불러질 이유가 없는 일시적으로 한번만 사용되고 버려지는 객체라는 뜻이다. 만약 우리가 프로그래밍을 하는데, 단 한번만 사용될 목적의 코드인데 10만개의 데이터가 입력이 되어야한다면 어떻게 할까? 10만개의 클래스를 만들어 딱 한번만 사용하고 버릴까? 이럴 때 사용되는 것이 바로 익명 객체인 것이다. 이러한 익명 객체는 모바일 응용앱, JavaScript, jQuery 등에서 많이 사용된다 이제 익..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3UL2s%2FbtrMdSgZnmQ%2FdMgKReOpHyjalT5vWansKK%2Fimg.png)
[JAVA] #8-4 인터페이스(Interface)
1. 인터페이스란? 인터페이스란 추상 메소드로만 구성되어있는 것. 동일한 목적으로 동일한 기능만을 수행하게끔 하는 기능이다. 이는 자바의 다형성을 극대화하여 개발코드의 수정을 줄이고 프로그램 유지 보수성을 높이는 방법이다. 기타를 만들어내는 프로그램을 제작하려 한다. 기타를 만들 때 사용되는 헤더, 넥, 바디에 대한 부분들은 전체적인 모양과 구성은 다르더라도 꼭 필요한 구성품이다. 만약 기타 제조사에 납품을 요청하는 업체가 펜더에서 스윙으로 바뀌었다고 해보자. 그리고 더 만약, 펜더와 스윙이 공통 규격의 헤더, 넥, 바디 사이즈를 사용한다고 가정해보자. 하지만 우리 프로그램은 펜더만을 위한 프로그램이기에 스윙을 만들기 위해선 프로그램을 싹 갈아엎어야한다. 만약 이 프로그램이 펜더만을 위한 프로그램이 아니..
[JAVA] #8-3 추상(Abstract)
1. 추상 이해하기 자바에선 추상 클래스, 추상 메소드가 있다. 그런데 클래스에 추상(Abstract Class)이 왜 붙었을까? 추상에 대해 이해하기 위해 이런 저런 곳을 찾아보다가 아래의 사이트가 설명을 정말 잘 해두어서 도움을 많이 받았다. 추상에 대해 이해하기 위해선 아래의 사이트에 들어가서 내용을 살펴보는 것으로 충분할 것 같다. https://limkydev.tistory.com/188 [JAVA] 자바 추상클래스란? [JAVA] 자바 추상클래스란? 추상클래스 이 글 하나로 박살내자. 추상클래스의 문법적인 특징이나, 객체생성이 되고 안되고 이런 특징들이 중요한게 아닙니다. 도대체 추상클래스가 무엇이고 왜 limkydev.tistory.com 위의 내용을 바탕으로 내 입말로 정리를 해보려 한다...
[JAVA] #8-2 다형성(Polymorphism)
1. 다형성 이해해보기 다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다. 예를 들어 자동차가 타이어를 사용하는 방법은 동일하지만 어떤 타이어를 사용하는지에 따라 성능이 바뀐다. 여기서 타이어를 부모 클래스, 그리고 타이어의 종류들을 각각 자식 클래스로 생각하면 된다. 타이어 = new 금호 타이어 타이어 = new 한국 타이어 와 같은 모습인 것이다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나다. 이번엔 코드로 예를 들어보자. class Parent { ... } class Child e..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsA0pr%2FbtrMaIem4L1%2Fx1oFq1hiA5u7HnCEls2qMk%2Fimg.png)
[JAVA] #8-1 Super
1. Class들의 관계 우린 상속을 배우면서 class들간의 관계를 배웠다. class는 상속을 하면서 상위와 하위 클래스라는 관계가 생기고 우린 그 관계를 부모-자식의 관계라 부르기로 했다. 그 중 Super는 관계 중 부모 관계를 뜻한다. 당연히 수많은 클래스들 중에서 부모의 역할을 하면서 자식의 역할을 하는 클래스도 있고, 부모의 역할과 자식의 역할만 하는 클래스도 있을 것이다. 우린 그것들을 묶어서 Superclasses(부모 클래스들), Subclasses(자식 클래스들)이라고 부른다. super를 사용하기 전에 this를 떠올려보자. this는 클래스 안에서 멤버변수와 지역변수를 구분해서 사용하기 위해 사용했다. this()도 생성자 함수가 생성자 함수를 호출할 때 사용했다. 이것처럼 sup..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPSxYe%2FbtrL5SoziEN%2Fl37GR0BAOpC6xtRq9YhxxK%2Fimg.png)
[JAVA] 연습문제 - 주민등록번호 유효성 검사
문제 : 주민번호 유효성 검사 주민번호가 맞을 시 문구 출력 후 생년월일, 성별, 나이, 띠 출력 package oop0914; public class Test06_jumin { public static void main(String[] args) { // 문제) 주민번호 유효성 검사 // Jumin 클래스 생성해서 실습합니다 Jumin id=new Jumin("8912301234567"); if(id.validate()) { System.out.println("주민번호가 확인되었습니다"); id.disp(); } else { System.out.println("주민번호를 다시 확인해주세요"); } // if end } // main() end } // class end 풀이 : Jumin class p..