본문 바로가기

Java

(16)
[자바 객체지향] is-a 관계와 has-a 관계의 비교 is a 관계의 객체화 (상속관계의 객체화) - 부모클래스로 데이터형을 선언하고 자식클래스를 생성해서 할당 하는 것이다. - 부모클래스의 변수와 메소드만 호출 할 수 있다. - 원칙적으로 자식클래스의 변수와 메소드는 호출 할 수 없다. - 자식클래스에 부모클래스에게서 Override한 메소드가 있다면 그 메소드는 호출이 가능하다. - class 뿐만 아니라 interface 등도 부모로 받을 수 있다. has a 관계(포함관계). 필드. 연관관계 - 다른 객체를 받아들여서 그 객체의 기능을 사용하는 것이다. (사람이 핸드폰을 사서 그 핸드폰의 기능을 사용하는 것) - 받아들인 객체의 자원(메소드/변수)을 사용할 수 있다. - 어떤 클래스 A가 또 다른 클래스인 B가 가진 기능을 사용하고 싶을때 B 클래스..
[자바 객체지향] 얕은 복사와 깊은 복사 비교하기 (feat. 스미스와 전우치) 얕은 복사(shallow copy) 객체가 참조하고 있는 객체의 주소만 복소 원본과 복제본이 같은 객체를 공유 이때 같은 객체란 같은 메모리의 힙(heap)주소를 말함. 원본 변경시 복제본도 영향을 받음 깊은 복사(deep copy) 객체가 참조하고 있는 객체까지 복사 원본과 복사본이 서로 다른 객체를 참조하므로 원본의 변경이 복사본에 영향을 주지 않습니다. 다음 설명에서 사용한 이미지는 해당 사이트에서 참조합니다. https://secweb.cs.odu.edu/~zeil/cs361/web/website/Lectures/big3/pages/shallowvsdeep.html Copy operations are distinguished by how they treat pointers: In a shallow..
[자바 알고리즘] 크롤링 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.wego.web.test; import java.util.ArrayList; import java.util.List; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class Crawler { public static void main(String[] args) { try { Document rawDa..
[자바 8] 람다 스트림 예문 PersonService.java (출처: 자바의정석) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157package com.wego.web.person;import ..
[자바 알고리즘] 팩토리얼 Factorial.java 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566package part2algo; public class Test { /** * 팩토리얼 + 스태틱 예제 * [결과] * 첫번째 연산결과:12.0 * 두번째 연산결과28.0 * 세번째 연산결과 누적값:55 * 100단이상은 지원하지 않습니다다 * 80단 출력 */ public static void main(String[] args) { System. out.println( "첫번째 연산결과:" + Engine.operator(5.0, 7.0, '+')); System. out.printl..
[자바 8] 람다 Lambda 5 가지 종류 http://tcpschool.com/java/java_intro_java8 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public interface Predicate { boolean test(T t); } public interface Function { R apply(T t); } public interface BinaryOperator { T apply(T left, T right); } public interface Consumer { void accept(T t); } public interface Supplier { T get(); } ..
19. 회원관리 Swing 앱 :: AdminServiceImpl.java 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071package com.hanbit.oop.serviceImpl; import com.hanbit.oop.domain.MemberBean;import com.hanbit.oop.service.AdminService; public class AdminServiceImpl implements AdminService{int count;MemberBean member;MemberBean[] list;public AdminServiceImpl(int limit){ count=0; ..
[자바 Swing] Calculator.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..