반응형

분류 전체보기 270

예외 처리

프로그램 오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 컴파일 에러와 런타임 에러로 나눌 수 있는데 컴파일 할 때 발생하는 에러를 컴파일 에러이고, 프로그램의 실행도중에 발생하는 에러를 런타임 에러라고 한다. 이 외에도 논리적 에러가 있는데, 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말한다 컴파일 에러 : 컴파일 시에 발생하는 에러 런타임 에러 : 실행 시에 발생하는 에러 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 소스코드를 컴파일 하면 컴파일러가 소스코드에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 ..

Language/Java 2021.09.27

인터페이스

인터페이스란? 인터페이스는 일종이 추상클래스다 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 가질수 없다 모든 멤버변수는 public static final이어야 하며,이를 생략할수 있다 모든 메서드는 public abstract 이어야 하며, 이를 생략할수 있다. 인터페이스는 인터페이스로부터 상속받을 수 있으며, 클래스와는 달리 다중상속,즉 여러개의 인터페이스로부터 상속받을수 있다 다중 상속 단점 두 조상으로부터 상속받는 자손클래스는 어느 조상의 것을 상속받게 되는 것인지 알 수 없다. 어느 한 쪽으로부터의 상속을 포기하던가 이름이 충돌하지 않도록 조상클래스르 변경하는 수 밖에없다 인터페이스는 static상수만 정의할 수 있으므로 클래..

Language/Java 2021.09.26

내부 클래스

내부클래스란? 클래스내에서 선언된 클래스를 말한다 내부클래스의 장점 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다 코드의 복잡성을 줄일 수 있다(캡슐화) 내부 클래스 사용 목적 내부 클래스를 사용하게 되면 비슷한 형태의 클래스들을 묶을 수 있어서 코드의 캡슐화를 증가시킬 수 있다. 또한, 내부클래스에서 외부 클래스의 멤버에 손쉽게 접근 할 수 있게 된다. 내부클래스의 종류와 특징 내부 클래스의 선언 class Outer{ class InstanceIneer{} //인스턴스클래스 static class StaticInner{} 스태틱 클래스 void method1(){ class LocalInner{} //지역클래스 } } instance 멤버 내부 클래스 instance 멤버 내부 클래스는..

Language/Java 2021.09.25

Visual Studio Code 필수 단축키 정리

Command Palette 단축키 : ctrl + Shift + P, F1 실행 가능한 모든 명령어를 마우스없이 키보드 하나로 바로 실행할 수 있다 파일을 저장하던지 아니면 포맷하는거 또는 원하는 명령어를 검색하면 관련 기능들을 다 볼수있다 Quick Open 단축키 : ctrl + P 파일을 찾지않아도 검색을 하여 쉽게 찾을수 있다 User Settings 단축키 : Ctrl + , 개발환경 세팅을 열어준다 Toggle Sidebar 단축키 : Ctrl + B 파일을 검색해서 찾다보니 익스플로러창을 열었다 닫았다 할수있다 Toggle Terminal 단축키 : Ctrl+ ` 비주얼스튜디오 코드에 내장된 터밀널을 이용하는 경우 키보드로 간단하게 토글링 할수있다 keyboard Shortcuts 단축키 ..

개발환경 2021.09.24

Visual Studio Code 설치 및 웹 개발을 위한 필수 익스텐션 13가지

https://code.visualstudio.com/Download 다운로드 홈페이지 들어가서 자신의 컴퓨터에 맞게 다운로드 해주면된다 Visual Studio Code는 마이크로소프트(Microsoft)에서 만든것이며 Text Editor 이다. Text Editor 로는 아톰, 서브라임,비주얼 스튜디오 코드가 있다 익스텐션(연장하다)을 설치하기위해 단축키 Ctrl + Shift +X 를 눌르거나 왼쪽 상단에 4개의 사각형을 눌러줘도 된다 Material Theme Visual studio code의 색상을 바꿔준다. 색 테마 설정을 눌르고 자신이 원하는 색을 설정하면 된다 Material Icon Theme html, js, css 등 아이콘테마 변경이 가능하다. 머티리얼 외에도 많은 테마가 있으니..

개발환경 2021.09.24

싱글톤

싱글톤이란? 생성자가 여러차례 호출되어도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 리턴한다. 클래스의 인스턴스가 오직 1개만 생성되는 것을 보장하는 디자인 패턴이다. 싱글톤 구현 싱글톤 구현에서 주의 깊게 보여야 될 부분은 생성자를 Private로 생성하여, 다른 외부 클래스에서 싱글톤 클래스를 new로 구성하지 못하게 하는 부분이다. public class SingletonSErvice{ //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService(); //2. public으로 열어서 객체 이스턴스가 필요하면 이 static 메서드를 통..

Language/Java 2021.09.19

오버로딩 vs 오버라이딩

오버로딩(Overloading) 같은 클래스 내에 여러개의 메소드 이름을 같이 쓸수가 있지만, 매개변수갯수가 달라야하고 타입이 달라야한다. public class OverloadingTest { public static void main(String[] args) { MyMath3 mm = new MyMath3(); System.out.println ("mm.add(3, 3) 결과:" + mm.add(3,3)); System.out.println ("mm.add(3L, 3) 결과:" + mm.add(3L,3)); System.out.println ("mm.add(3, 3L) 결과:" + mm.add(3,3L)); System.out.println ("mm.add(3L, 3L) 결과:" + mm.add(3..

Language/Java 2021.09.19

추상화

추상 클래스(abstract class) 미완성 설계도. 미완성 메서드를 갖고 있는 클래스 추상클래스로 인스턴스는 생성할 수 없다 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 클래스 선언부의 abstact를 보고 이 클래스에는 추상메서드가 있으니 상속을 통해서 구현해주어야 한다는 것을 쉽게 알 수 있다 추상클래스는 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. 추상클래스에도 생성자가 있으며, 멤버변수와 메서드도 가질 수 있다. /* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다 */ abstract 리턴타입 메서드이름(); //꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우 abstract class Player{ // 추상클..

Language/Java 2021.09.19

다형성

다형성 여러 가지 형태를 가질 수 있는 능력 한 타입의 참조변수로 여러 타입의 객체를 참조 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것 조상 타입 참조 변수로 자손 타입 객체를 다루는것 Tv t = new Tv(); SmartTv() s = new SmartTv(); class Tv{ boolean power; // 전원상태 (on/off) int channel; // 채널 void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } class SmartTv extendsTv { String text; // 캡션(자막)을 보여 주기 위한 문자열 void c..

Language/Java 2021.09.19

상속, 패키지, 접근 제어자

상속 - 기존의 클래스로 새로운 클래스를 작성하는 것 - 두 클래스를 부모와 자식으로 관계를 맺어주는 것 상속의 특징 - 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다 class Parent {} class Child extends Parent { // 자식 상속 부모 } 포함(Composite) - 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다. class MyPoint{ int x; int y; } class Circle { //포함 MyPoint p = new MyPoint(); int r; } public class InheritanceTest { public static void main(String[] args) { Circle c = ..

Language/Java 2021.09.16
반응형