본문 바로가기

자바7

[Java] 셀레니움(Selenium) 을 사용하여 네이버 지도 크롤링 해보기 (기본편) KOSTA에서 Java 기반 DevOps 과정을 들으며 Final 프로젝트에서 사용한 크롤링을 정리하려고 한다.파이썬을 사용했으면 더 편하긴 했겠지만, 우리는 Java 를 배웠기 때문에 Java를 사용하여 크롤링을 진행한다.모르는 사람이 봐도 금방 이해할 수 있도록 진짜 최대한 쉽고 간단하게 작성하려고 노력했다.!!  🛠️ 환경 설정 우선 개발환경은 이클립스를 사용하고 Maven 으로 빌드를 진행합니다.아래 3개의 라이브러리를 태그 안에다 넣어주고 빌드를 진행합니다. (저장!)  org.seleniumhq.selenium selenium-java 4.26.0 io.github.bonigarcia webdrivermanager 5.9.2 edu.stanford... 2024. 11. 29.
[JAVA] 추상 클래스와 인터페이스의 개념과 차이점(+예시) 완벽 정리 우리가 프로그래밍을 할때 추상 클래스(Abstract Class)와 인터페이스(Interface)의 차이를 명확히 모르는 경우가 많습니다. 둘다 '하나 이상의 추상 메서드를 가지고있어야 한다' 라는 것을 알고있지만 "그래서 둘의 차이점은 뭐고 언제 추상클래스를 사용하고 인터페이스를 사용해야하는건데?" 라는 궁금증이 있으실겁니다. 이번 글에서는 추상 클래스와 인터페이스가 무엇인지 간단하게 살펴보고 이 둘의 차이점을 예시를 통해 완벽하게 이해할 수 있으실 겁니다. 그리고 실제로 면접 질문에도 자주 나오는 내용이라고 합니다? (저는 취준생이라 잘 모릅니다..ㅎㅎ) 추상 클래스(Abstract Class) 추상 클래스는 클래스(class) 앞에 'abstract' 키워드를 사용하여 정의하며, 하나 이상의 추상 .. 2024. 4. 23.
[JAVA] 람다식(Lambda)의 개념과 사용법 람다식(Lambda)이란? 람다식이란 함수형 프로그래밍을 구성하기 위한 함수식이며, 쉽게 말해 자바의 메서드를 "하나의 식" 으로 표현한 것입니다. 지금까지 자바에서는 메서드를 하나 표현하려면 클래스를 정의해야 했습니다. 하지만 람다식으로 표현하면 메서드의 이름과 반환값을 생략할 수 있고 이를 변수에 넣어 자바 코드가 매우 간결해지는 장점이 있습니다. 아래 그림에서 보듯이 메서드 표현식을 메서드 타입, 메서드 이름, 매개변수 타입, 중괄호, return 문을 생략하고, 화살표 기호를 넣음으로써 코드를 간략하게 함축했음을 볼 수 있습니다. 이러한 특징으로 람다식을 이름이 없는 함수 익명 함수(anonymous function) 라고도 합니다. int add(int x, int y) { return x + .. 2024. 3. 20.
[JAVA] 인터페이스(Interface) 핵심 이해하기 인터페이스(Interface)란 인터페이스는 프로그램 내 다양한 기능을 하는 클래스들에게 기본이 되는 틀(구조)를 제공하는 역할을 한다. 이전의 포스팅을 보았다면 알겠지만, 추상 클래스와 비슷한 개념이라고 생각하면 된다. 하지만, 자바는 단일 상속을 원칙으로 하고 있기 때문에, 다중 상속을 지원하기 위해 인터페이스를 사용할 수 있다. 자바에서 비슷한 개념인 추상 클래스는 추상 메서드뿐만 아니라 생성자, 필드, 일반 메서드도 포함할 수 있습니다. 하지만, 인터페이스는 오로지 상수(final)와 추상 메서드만 포함할 수 있습니다. 인터페이스 특징 1. 다중 상속 가능하다. 인터페이스는 껍데기만 존재하기 때문에 클래스 상속 시 발생했던 모호함이 없다. 그렇기 때문에 다중 상속이 가능하다. 추상 클래스를 상속.. 2024. 3. 18.
[JAVA] 추상 클래스(Abstract) 완벽 이해하기 추상 클래스란? 추상 클래스는 추상 메서드를 하나라도 가지고 있는 클래스를 만한다. 추상 메서드는 "메서드가 완성되지 않은, 껍데기만 있는 메서드" 이다. 쉽게 이해하기 위해서 예를 들자면 강아지, 고양이, 소 라는 객체가 있다고 하자. 이 3가지 객체의 공통점은 동물이라는 공톰점이 있겠지요. 그리고 이 객체들은 공통적으로 행위, 즉 "걷기", "먹기", "울기" 등의 메서드를 가지고 있을 겁니다. 이러한 공통되는 특성을 갖고 있는 것을 추상 클래스라고 합니다. 각 동물들은 걷고, 먹는 것은 동일하겠지만 각자 울음소리는 다를 것입니다. 그렇기 때문에 work(), eat() 은 부모 클래스에서 구현해주고 서로 다른 bark() 메서드만 추상 메서드로 선언한것이죠. 그럼 각 자식클래스에서 추상 메서드인 b.. 2024. 3. 18.
[JAVA] 오버로딩과 오버라이딩의 차이점 자바의 특징이자 객체 지향(OOP) 4대 특성인 다형성을 지원하는 방법으로 메서드 오버로딩과 오버라이딩이 있다. 오버로딩(Overloading) 같은 이름의 메서드를 여러개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의하는 기술 서로의 개념은 다르지만, 이름이 비슷하여 자주 헷갈리곤 합니다. 그래서 이번 글에서는 오버로딩과 오버라이딩의 차이점을 하나하나 살펴보고 예제로도 알아보겠습니다. (실제로 면접에서 자주 나오는 질문이라고 합니다만, 저는 면접을 본적이 없어서 잘 모르겠네요..) 오버로딩(Overloading) 오버로딩이란 같은 이름의 메서드를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 메서드.. 2024. 3. 16.
반응형