본문 바로가기

분류 전체보기192

[AI] 인공지능 : 머신러닝(Machine Learning)과 딥러닝(Deep Learning)의 차이? 머신러닝과 딥러닝? 딥러닝은 머신러닝 안에 포함되는 하위개념으로 볼 수 있는데 머신러닝중에서 신경망을 활용하여 신경망의 층을 깊게(Deep) 하여 학습 효과를 높이는 방법을 딥러닝이라 한다. 즉 인공지능이라는 범주안에 머신러닝이 있고 머신러닝 범주안에 딥러닝이 있는것이다. 머신러닝은 말그대로 기계학습을 의미하는데, 이 방법에는 크게 3가지가 존재한다. 1. 지도학습(Supervised Learning) 집중해야 하는 포인트는 "지도"인데 영어단어로 Supervised를 의미한다. 여기서 말하는 지도란 문제와 문제의 정답에 대한 데이터가 있기에 이러한 것을 기반으로 학습하고 이 후 새로운 문제에 대하여 기존의 정보를 바탕으로 정답을 유추하는 방법이다. 2. 비지도학습(Unsupervised Learning.. 2021. 4. 20.
초보 개발자의 필수 덕목 "코드 리팩토링(Code Refactoring)" 이란? Code Refactoring 이란? 코드 리팩토링 단어 그자체로 유추 할 수 있다. 코드를 개선하는 작업을 코드 리팩토링이라고 한다. 즉, 기존에 어떠한 코 드를 조금 더 좋은 코드로 개선하는 작업을 의미한다. 직관적인 예시 하나가 뭐가 있을까? (1) - > (2) - > (3) 순으로 효율적 관리를 위한 작업 (1) : 각 클래스 타입을 입력하여 일일이 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 Dog d = new Dog("강아지", 1); System.out.println(d.toStr()); Cat c .. 2021. 4. 13.
[Spring Boot] 스프링 부트 : 어노테이션(Annotation)란 무엇이고 왜 사용하며 어떻게 표현할까? 어노테이션(Annotation) 사전적 의미 : 주석 이라는 뜻이다. 일상 생활에서 책을 보면 "주석"표기가 되어있는걸 볼 수 있다. 또한 프로그래밍상에서 알고 있는 주석이라고는 //, /* 전부이다. 그렇다면 어노테이션(Annotation)이란 무엇일까? 쉽게 말하면, 메타 데이터(Metadata)이다. 즉 데이터에 대한 데이터이다. 컴파일 과정에서 방대하고 긴 묶음의 함수들을 간단히 메타 데이터로 표기 함으로써 컴파일 과정에서 어떻게 처리할 것인지를 알려주는 정보이다. "@"로 표기가 이루어지고 있다. 가장 간단한 예시의 경우는 @Override의 경우인데, 메소드 오버라이드가 된 것임을 컴파일에게 알려주어서, 컴파일러가 알아서 오버라이드를 검사를 해준다. 만약 오버라이드가 안됬다면 컴파일러는 에러를.. 2021. 3. 23.
[Java] 자바 : 클래스에서 객체 생성을 막는 abstract 클래스에서 객체를 만드는 것을 인스턴스화라고 한다. 클래스에서 객체를 생성하는게 가능하다면, 반대로 클래스에서 객체를 생성 하는것을 막는것도 가능하다. 바로 이러한 역할을 해주는 것이 abstract이라는 키워드이다. - 추상 클래스 : 객체 생성을 막음 class Main { // 객체 생성 호출 시 오류 발생 } asbtract class A { } - 추상 메서드 : 메서드 본체가 없는 메서드 abstract void test(String target); 추상 메소드를 포함하는 클래스의 경우에는 클래스 자체의 경우에도 추상 클래스로 선언을 해줘야 한다. 2021. 3. 22.
[Java] 자바 : 상속을 금지하는 final 클래스 간 상속이 가능하다면, 반대로 클래스 간 상속을 막아 놓는것이 있다. 그 역할을 해주는 키워드가 바로 final이다. final의 경우 2가지로 사용 할 수 있다. 바로 클래스간 상속 금지와 메소드 오버라이딩의 금지이다. final은 - 클래스간 상속 금지 final class A { } class B { } : B에서 A를 상속할려고 하면 불가능하다. final로 막아놨기 때문에 - 메소드 오버라이딩의 금지 class A{ final int testresult(){ } } class B { } : 만약 B에서 A의 final 메소드를 오버라이딩 할려고 하면 컴파일 에러가 발생한다. 2021. 3. 22.