loading
본문 바로가기

전체 글225

[ Diary ] 백엔드 개발자로써 목표 [ Diary ] 백엔드 개발자로서 목표 📚 Table of Contents 백엔드 개발자의 첫 걸음 개발자가 되려고 하는 이유는 내가 상상하고, 원하는, 필요한 것을 직접 손으로 만들기 위해서이다. 정말 단순한 기능이라도 내손으로 만들 수 있다면 얼마나 짜릿하겠는가? 특히 백엔드인 이유는 내가 상상하는 것이 대부분 시각적인 부분들이 아닌 기능적인 부분이었기 때문이다. 세상에는 많은 웹과 앱이 존재한다. 분명 내가 상상한 것들 대부분은 이미 존재한다. 하지만 어떠한 방식으로 동작하는지 알 수 없고 늘 궁금했다. 이제 동작하는 방법을 한글자라도 알 수 있도록 공부를 시작하였다. 동작하는 방법이 쉬운 방식이든, 어려운 방식이든 한 동작이라도 이해할 수 있을 것에 기분이 들뜬다. 백엔드 개발자의 다음 걸음을 .. 2023. 11. 12.
[ Diary ] Front vs Back / 백엔드의 시작 [ Diary ] Front vs Back / 백엔드의 시작 📚 Table of Contents 프론트엔드 (Front - End) 프론트엔드(Front - End) 개념 사용자가 웹 사이트 또는 웹 애플리케이션, 모바일 애플리케이션에 처음 접속하면 아주 깔끔한 레이아웃을 가진 인터페이스를 보게 된다. 즉, 사용자가 직접 맞다뜨리는 모든 요소가 해당하고 프론트엔드라고 부른다. 프론트엔드는 사용하기 쉽고 매력이 있을 때에 더욱이 사용자들의 참여를 끌어내기 때문에 아주 중요한 요소가 된다. 서비스의 경쟁력을 유지하기 위해서는, 매끄럽게 동작하는 프론트엔드를 구축하는 것이 매우 중요하다. 프론트엔드(Front - End) 개발 프론트엔드 개발은 주로 사용자 인터페이스 ( UI )와 사용자 경험 ( UX )을 .. 2023. 11. 10.
[ Java ] 13. 예외 처리 ( exception handling ) [Java] 13. 예외 처리 ( exception handling ) 📚 Table of Contents 01. 오류 종류 논리 에러 (Logic Error) 논리적 에러는 이른바 '버그'라고 생각하면 된다. 프로그램이 실행하고 작동하는 데는 아무런 문제가 없는 오류이지만, 결과가 예상과 달라 사용자가 의도한 작업을 수행하지 못하게 되어 서비스 이용에 지장이 생길 수 있다. 논리적 오류는 컴퓨터 입장에서는 프로그램이 멀쩡히 돌아가는 것이니 에러 메시지를 알려주지 않는다. 따라서 개발자는 프로그램의 전반적인 코드와 알고리즘을 체크 필요가 있다. 컴파일 에러 (Complillation Error) 컴파일 에러는 컴파일 단계에서 오류 발견하면 컴파일러가 에러 메시지 출력해 주는 것을 말한다. 컴파일 에러 발.. 2023. 11. 9.
[ Java ] 12. 자바 입출력 [Java] 12. 자바 입출력 📚 Table of Contents 01. 자바 입출력과 스트림 스트림이란? 자바에서 모든 입출력은 스트림(Stream)을 통해 이루어진다. 입출력 장치는 매우 다양하여 장치에 따라 입출력 부분을 일일이 다르게 구현하면 프로그램 호환성이 떨어질 수 밖에 없다. 이런 문제를 해결하기 위해 자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현할 수 있도록 일종의 가상 통로인 스트림을 제공한다. 자료를 읽어 들이려는 소스(source)와 자료를 쓰려는 대상(target)에 따라 각각 다른 스트림 클래스를 제공한다. 입, 출력 스트림 어떤 대상으로부터 자료를 읽어 들일 때 사용하는 스트림이 입력 스트림이다. 편집 화면에 사용자가 쓴 글을 파일에 저장할 때는 출력 스트림을 사.. 2023. 11. 9.
[ Java ] 11. 내부 클래스 ( inner class ) [ Java ] 11. 내부 클래스 ( inner class ) 📚 Table of Contents 01. 내부 클래스란 내부 클래스(inner class)란 하나의 클래스 내부에 선언된 또 다른 클래스를 의미한다. 내부에 정의된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. 우리가 어느 클래스에 변수나 상수가 필요하다면 클래스 멤버로서 클래스 내에서 선언하여 사용해 왔듯이, 선언 주체를 변수에서 클래스로 바꾼다면 그것이 내부 클래스인 것이다. 이처럼 내부 클래스는 보통 두 클래스가 서로 긴밀한 관계가 있거나, 하나의 클래스 또는 메서드에서만 사용되는 클래스일 때 이용되는 기법이다. class Outer { // 외부 클래스 ... class Inner { // 내부 클래스 ... } ... } 내.. 2023. 11. 9.
[ Java ] 10. 인터페이스 ( interface ) [ Java ] 10. 인터페이스 ( interface ) 📚 Table of Contents 01. 인터페이스 인터페이스도 추상 클래스와 비슷하게 다른 클래스를 작성하는데 도움을 주는 목적으로 작성한다. 다만 인터페이스는 추상 클래스보다 추상화 정도가 높아 추상 클래스와 다르게 구현부가 있는 일반 메서드, 일반 변수 멤버 등을 가질 수 없다. 즉, 인터페이스는 구현된 게 아무것도 없는 기본 설계도라고 할 수 있다. 인터페이스 또한 인스턴스를 생성할 수 없다. // 인터페이스 선언 접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; ... public abstract 메소드이름(매개변수목록); ... } // 인터페이스 구현 class 클래스이름 im.. 2023. 11. 9.
[ Java ] 09. 추상 클래스 ( abstract class ) [ Java ] 09. 추상 클래스 ( abstract class ) 📚 Table of Contents 01. 추상 클래스 (abstract class) 추상 클래스(Abstract Class)는 추상 메서드를 선언해 놓고 상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다. 이러한 특성 탓에 미완성 설계도라고 표현하기도 한다. 실체클래스의 공통적인 부분( 변수, 메서드 )을 추출해서 선언한 클래스이다. 실체가 없고 구체적이지 않기 때문에 추상클래스는 객체를 생성할 수 없다. 추상클래스와 실체클래스는 상속관계이다. abstract class 클래스이름 { ... abstract 반환타입 메소드이름(); ... } 추상 클래스는 추상 메서드를 가지지 않아도 괜찮다. 다만, 추상 메서드를 .. 2023. 11. 9.
[ Java ] 08. 다형성 ( Polymorphism ) [ Java ] 08. 다형성 ( Polymorphism ) 📚 Table of Contents 01. 다형성 ( Polymorphism ) 다형성이란 하나의 객체가 여러 가지 형태를 가질 수 있는 것을 의미한다. 자바에서 다형성은 한 타입의 참조 변수를 통해 여러 타입의 객체를 참조할 수 있도록 하는 것이다. 즉, 상위 클래스 타입의 참조 변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용하여 상위 클래스가 동일한 메시지로 하위 클래스들이 서로 다른 동작을 할 수 있도록 한다. 다형성을 활용하면, 부모 클래스가 자식 클래스의 동작 방식을 알 수 없어도 오버라이딩을 통해 자식 클래스에 접근할 수 있다. 다형성의 장점 유지보수 : 여러 객체를 하나의 타입으로 관리할 수 있어 유지보수가 용이하다. 재.. 2023. 11. 9.
[ Java ] 07. 상속 ( Inheritance ) [ Java ] 07. 상속 ( Inheritance ) 📚 Table of Contents 01. 상속 ( Inheritance ) 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있으며, 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속받아 그대로 쓸 수 있게 된다. 상속은 기존의 클래스에 기능을 추가하거나 재정의하여 효율적이고 개발 시간을 줄여준다. 이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징이다. 상속을 하더라도 자식 클래스가 부모의 모든 것들을 물려받는 것은 아니다. 부모 클래스의 private 접근 제한을 갖는 필드 및 메서드는 자식이 물려받을 수 없다 부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한.. 2023. 11. 9.
[ Java ] 06. 클래스 ( class ) 와 객체 [ Java ] 06. 클래스 ( class ) 와 객체 📚 Table of Contents 자바 프로그래밍을 OOP(객체 지향 프로그래밍)이라고도 한다. 현실에서도 특정 제품을 만들 때 여러 가지 부품들을 각각 만들어 하나로 조립해서 제품을 생산하듯 프로그래밍적으로도 여러 가지 객체(Object)를 각각 만들어서 하나로 조립하는 프로그래밍 기법을 객체 지향 프로그래밍이라고 한다. 자바에서 객체는 클래스를 통해 생성하실 수 있다. 01. 클래스 클래스 클래스의 구성 맴버 설명 필드(Field) 객체의 데이터가 저장되는 곳 생성자(Constructor) new 연산자로 호출되는 메소드로 객체 생성 시 필드의 초기화를 담당 메소드(Method) 객체의 동작에 해당하며 클래스의 다양한 동작을 구성 클래스 내부.. 2023. 11. 9.