[JAVA] 영문자 입력받아 아스키코드 출력
2021. 6. 6. 21:39
자바
영문자 입력받아 아스키코드 출력 import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); char a = scan.nextLine().charAt(0); int result = (int) a; System.out.println(result); } } 정수 입력받아 아스키코드 출력 import java.io.IOException; import java.util.Scanner; public class Main { public static void main(St..
[JAVA] 정수 진수변환
2021. 6. 6. 20:16
자바
10진수 -> 2진수, 8진수, 16진수 int i = 127; String binaryString = Integer.toBinaryString(i); //2진수 String octalString = Integer.toOctalString(i); //8진수 String hexString = Integer.toHexString(i); //16진수 2진수, 8진수, 16진수 -> 10진수 import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); String a..
[JAVA] 소수 11자리까지 반올림
2021. 6. 6. 20:13
자바
import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); Double a = scan.nextDouble(); System.out.format(String.format("%.11f", a)); } }
[JAVA] 입력된 수 그대로 출력하기
2021. 6. 5. 06:24
자바
정수 출력 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); System.out.println(a); } } -> 5를 입력하면 5가 출력됨 문자 출력 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String a = scan.next(); System.out.println(a); } } -> abc를 입력하면 a..
[JAVA] 문자열 따옴표 출력하기
2021. 6. 5. 06:11
자바
public class Main { public static void main(String[] args) { System.out.println("\'Hello\'"); } } public class Main { public static void main(String[] args) { System.out.println("\"Hello World\""); } } public class Main { public static void main(String[] args) { System.out.println("\"!@#$%^&*()\""); } } public class Main { public static void main(String[] args) { System.out.println("\"C:\\Downlo..
객체 지향 설계와 스프링
2021. 6. 5. 00:35
스프링
스프링 이야기에 왜 객체 지향 이야기가 나오는가? - 스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원 - DI(Dependency Injection) : 의존관계, 의존성 주입 - DI 컨테이너 제공 - 클라이언트 코드의 변경 없이 기능 확장 - 쉽게 부품을 교체하듯이 개발
좋은 객체 지향 설계의 5가지 원칙 (SOLID)
2021. 6. 5. 00:25
스프링
SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 - SRP : 단일 책임 원칙 (Single responsibility principle) - OCP : 개방-폐쇄 원칙 (Open/closed principle) - LSP : 리스코프 치환 원칙 (Liskov substitution principle) - ISP : 인터페이스 분리 원칙 (Interface segregation principle) - DIP : 의존관계 역전 원칙 (Dependency inversion principle) SRP 단일 책임 원칙 Single responsibility principle - 한 클래스는 하나의 책임만 가져야 한다. - 하나의 책임이라는 것은 모호한다. - 클 수 있고, ..
[Android] 버튼 클릭시 이미지 바꾸기
2021. 6. 3. 23:48
안드로이드
소스코드 MainActivity.java package org.techtown.framelayout; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { ImageView imageView; ImageView imageView2; int imageIndex = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc..
좋은 객체 지향 프로그래밍이란?
2021. 6. 3. 15:53
스프링
객체 지향 특징 - 추상화 - 캡슐화 - 상속 - 다형성 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 유연하고, 변경이 용이? - 레고 블럭 조립하듯이 - 키보드, 마우스 갈아 끼우듯이 - 컴퓨터 부품 갈아 끼우듯이 - 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 다형성의 실세계 비유 - 실세계와 객체 지향을 1:1로 매칭 X - 그래도 실세계의 비유로 이해하기에는 좋음 - ..
스프링이란?
2021. 6. 3. 15:36
스프링
스프링 프레임워크 - 햭심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 - 웹 기술 : 스프링 MVC, 스프링 WebFlux - 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원 - 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 - 테스트 : 스프링 기반 테스트 지원 - 언어 : 코틀린, 그루비 - 최근에는 스프링 부트를 통해서 스프림 프레임워크의 기술들을 편리하게 사용 스프링 부트 - 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 - 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 - Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 - 손쉬운 빌드 구성을 위한 starter 종속성 제공 - 스프링과 3rd Part..