본문 바로가기

전체 글42

[국비] Java 내용정리 Day16 Math 클래스 수학 관련 함수들을 제공하는 클래스다. 모든 메서드는 static으로 구성되어 있다. package api.lang.math; public class MathExample { public static void main(String[] args) { // 올림 int i = (int) Math.ceil(1.1); System.out.println(i); // 내림 double d = Math.floor(1.5); System.out.println(d); // 반올림 double d2 = Math.round(3.141592 * 100) * 0.01; System.out.println(d2); // 제곱 double d3 = Math.pow(3.0, 4.0); System.out.println.. 2021. 11. 28.
[국비] Java 내용정리 Day15 예외를 강제로 발생시키는 키워드 throw 메서드나 생성자 실행 도중에 throw 키워드를 만나면 즉시 throw로 생성한 예외가 발생한다. 예외가 발생되면 실행되던 코드는 즉시 중단되고 예외를 처리할 수 있는 catch문으로 바로 이동하게 된다. 적절히 활용하면 void가 아닌 메서드를 강제로 종료시킬 때 사용된다. 또한, 에러 상황이 아니지만 프로그램 실행에 적절치 못한 상황에서 코드의 흐름을 바꿔 줄 수가 있다. 기존에 정의된 예외 클래스 외에 필요에 따라 개발자가 새로운 예외 클래스를 정의해서 사용할 수 있다. 대부분의 경우 Exception을 상속받아서 클래스를 디자인한다. package exception.throw_; public class ThrowExample { static int cal.. 2021. 11. 25.
[국비] Java 내용정리 Day14 인터페이스 인터페이스는 객체들의 표준 사용방법을 제시한다. 인터페이스는 객체들을 충실하게 추상화, 캡슐화할 수 있게 도와준다. 인터페이스는 선언시 class 자리에 interface라는 키워드를 넣어서 선언한다. 인터페이스에는 인스턴스 필드를 선언할 수 없고, 상수만 선언할 수 있다. static final을 생략해도 자동으로 붙어서 처리된다. 인터페이스에는 추상 메서드, 정적 메서드, 디폴트 메서드(jdk 1.8 이후)를 선언할 수 있다. 인터페이스 자체로는 객체를 생성할 수 없다. 인터페이스에서 명세한 기능을 구체화할 클래스가 필요하며, implements라는 키워드를 사용하여 인터페이스를 명시한다. 인터페이스를 구현한 클래스는 인터페이스의 추상메서드들을 모두 오버라이딩해야 한다. 인터페이스는 클래스.. 2021. 11. 24.
[국비] Java 내용정리 Day13 static static이란 직역을 하면 고정된 이라는 의미를 갖고 있다. 자바에서는 static을 사용 제한자로 이용하며 필드, 메서드에 붙여서 정적 멤버로 만들 때 사용한다. 정적 멤버란 객체에 속한 멤버가 아닌 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메서드를 말한다. 인스턴스 멤버는 객체에 소속된 멤버로서 객체당 각각 다른 값을 가질 수 있지만 정적 멤버는 클래스에 소속된 멤버이기 때문에 객체간 모든 값을 공유하는 공유데이터가 된다. static이 붙은 데이터는 그 static 데이터가 선언된 클래스 이름으로 바로 참조 할 수 있다. static은 객체와 무관한 데이터고, 일반 멤버 변수와 혼동할 가능성이 있기 때문에 주소값으로 접근하지 않는다. 정적 초기화 블록 인스.. 2021. 11. 23.
[국비] Java 내용정리 Day12 다형성(Polymorphism) 다형성이란 객체들이 여러 가지 형태, 즉 타입을 이용할 수 있는 성질을 말한다. 자바는 다형성을 위해 객체들의 부모타입변환을 허용하고 있다. 부모타입에 모든 자식 객체를 대입할 수 있다. 다형성을 이용하면 객체의 부품화를 할 수 있다. 자바에선 하나의 클래스 파일에 여러 개의 클래스를 선언할 수 있고, 밀접한 연관이 있는 클래스를 모아 놓기 위해 사용한다. 파일명과 동일한 클래스가 반드시 존재해야 하고 해당 클래스만 public으로 선언할 수 있다. 다형성이란 자식 객체가 모든 부모의 타입을 가질 수 있다는 것을 의미한다. 부모 타입 변수에 자식 객체의 주소값을 얼마든지 저장할 수 있는 것을 의미한다. 상속관계가 없다면 다형성 적용이 불가능하다. 다형성은 무조건 상속 관계.. 2021. 11. 21.
[국비] Java 내용정리 Day11 Super 모든 생성자에는 super()가 기본 내장되어 있다. 자식 객체가 생성될 때는 부모의 객체도 생성이 되어야 부모의 속성과 기능이 실존하게 되고, 자식에게 물려 줄 수 있기 때문이다. Super 설명 현실에서도 부모 없이는 자식이 존재하지 않듯, 객체지향 프로그램에서도 자식 객체를 생성하면 부모객체가 자동으로 생성된다. 하지만 모든 객체는 생성자를 호출해야만 생성되는데, 자식 객체 생성시 어디에서 부모의 생성자를 호출되었을까? 그에 대한 답은 자식 생성자에 있다. 자식 클래스에서 부모 클래스의 메서드를 오버라이딩하게 되면, 부모 클래스의 메서드는 숨겨지고 오버라이딩된 메서드가 호출된다. 자식 클래스에서 부모의 원본 메서드를 호출하려면 부모의 주소를 갖고 있는 super키워드를 사용한다. pack.. 2021. 11. 20.
Apache Tomcat 9.0 설치 & 설정 Apache Tomcat(아파치 톰캣)은 아파치라는 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다. 자바 환경에서 웹서버와 연동하여 자바서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣의 관리 툴을 통해 여러 환경 설정을 변경할 수 있고, XML 파일을 편집 기능과 HTTP 서버도 자체 내장되어 있다. Apach Tomcat 홈페이지 클릭 Apach Tomcat 9.0 Download & Install 왼쪽 카테고리 Download에서 Tomcat 9를 누른다. OS 운영체제에 맞게 설치를 하면 된다. Installer 파일도 있지만 프로그램 관리를 위해 '.zip' 파일을 다운로드를 진행한다. '.zip'파일로 받았기 때문.. 2021. 11. 15.
Oracle Data Base 11g / SQL Developer 설치 데이터베이스의 사전적 의미로 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합이다. DBMS (Database Management System) 데이터베이스 관리 시스템은 데이터베이스 내의 데이터를 관리하고 조작하기 위한 소프트웨어라고 보면 된다. 다양한 데이터베이스 관리 시스템이 존재하지만, 그중 오라클 11g 버전을 설치하고자 한다. 오라클 데이터 베이스의 버전도 다양하지만 학습용으로 많이 사용하고 있는 버전은 11g로 보면 된다. Oracle 홈페이지에 찾기가 힘들기 때문에 링크를 통해 설치를 진행하면 된다. 클릭 Oracle DataBase 11g XE Download & Install 링크를 통해 Download를 진행하기 전 OS 운영체제에 맞게 진행하면 된다. (.. 2021. 11. 11.
[국비] Java 내용정리 Day10 객체지향 프로그래밍(Object Oriented Programming) 객체지향 프로그래밍이란 모든 데이터들을 객체로 표현하고 객체들의 상호작용(책임, 협력, 위임) 등을 프로그램으로 표현하는 프로그래밍 기법 객체란? 객체는 물리적으로 존재하거나 추상적으로 생각할 수 있는 것들을 말한다. 물리적으로 눈에 보이는 펜, 자동차, 사람과 같은 것과 추상적인 주문, 강의 등과 같은 것도 모두 객체가 될 수 있다. 현실의 객체와 프로그래밍의 객체 객체간의 관계 객체의 속성과 기능 속성이란 객체가 가진 정보들을 의미한다. 강아지의 속성 견종, 나이, 이름, 키, 몸무게, 예방접종 여부 등 기능이란 객체가 가진 행위들을 의미한다. 강아지의 기능 짖다, 놀다, 사료를 먹다, 꼬리를 흔들다 등 클래스란? 현실에서 객체가.. 2021. 11. 10.