반응형

Java/자바기본개념 6

[자바] ^ 연산자를 이용한 간단한 암호화

^ 연산자를 통한 간단한 암호화가 가능하다! package com.company; import java.util.Scanner; public class Main { public static void main(String[] args) { // write your code here Scanner scn = new Scanner(System.in); int input = scn.nextInt(); int lock = 0x81726321; int code = (input ^ lock); System.out.println("입력 받은 값: " + input); System.out.println("암호화: " + code); System.out.println("복호화: " + (code^lock)); } }

List와 Map의 차이

List와 map의 공통점은 데이터를 저장하는 자료구조인 점입니다. 하지만 똑같이 데이터를 저장하지만, 데이터를 저장하는 구조는 다릅니다. 1. LIST List는 Memory 안의 특정한 동일 공간에 뭉텅이로 저장됩니다. 내부구현은 배열로 되어있기 때문입니다. 때문에 알맞은 데이터 저장공간만 있다면 데이터 저장속도는 빠릅니다. 또한, 순차적으로 데이터를 저장하므로, 데이터 특징이 포지션별로 의미가 있을 때 사용하는 것이 좋습니다. 아래는 자바로 작성한 예시입니다. List와 Map의 프로그래밍적으로 개념은 같기 때문에 어떤 언어든간에 똑같이 이해하면 됩니다! foreach문을 썼지만, 일반 for문으로 arrayList.get(position);메서더를 써도 무방 합니다. package Ex01; im..

[JAVA] nextLine()이 안 될 때

nextLine() 과 섞에 사용할 경우에는 주의가 필요합니다. import java.util.Scanner; public class JavaScanner{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); String name; int age; System.out.println("나이를 입력하세요."); age = scan.nextInt(); System.out.println("이름을 입력하세요."); name = scan.nextLine(); System.out.printf("나이는 %d입니다.%n",age); System.out.printf("이름은 %s입니다.%n",name); scan.close(); }..

Stack, Heap차이 / 캡슐화 / 응집도 / 결합도 / OOP / 자료구조

1. Stack과 Heap의 차이Stack과 Heap의 차이를 설명하세요. - 둘 다 메모리이다. - Stack은 변수와 관련이 깊다. 소멸시점이 Heap과 다르다. - Stack : Integer 타입 변수 b가 스코프를 빠져나가는 순간 소멸, - Heap : 가리키는 메모리가 없을 때 garbage collector가 소멸시킨다. 대부분은 클래스와 관련된 문제가 나올 것이다. 2. 캡슐화에 대해서 설명하세요. - 정보의 은닉(public private) - public, private - 내가 다른 사람이 사용해야 될 어떤 모듈(클래스)를 만드는데, 호출하는 모듈에게 풀어줘야 할 것은 풀어주고 닫아야 할 것은 닫는다. (내부에서만 쓰이게) TTT 클래스의 public void test1 과 priav..

다형성이란?

1. 다형성이란? 1) 사전적 의미 : 다양한 형태의 성질을 갖는것 2) 객체를 사용할 때 쓰는 참조변수를 형태를 바꿔서 여러가지 타입의 객체를 참조할 수 있습니다. 3) 장점은 프로그램 코드를 유연하게 구성할 수 있습니다. 이후에 Spring 프레임워크나 다양한 요소에 쓰이는 다형성과 형변환은 java에서 정말 중요한 요소중에 하나인데요. 이렇게 중요한 기능을 예제를 통해서 한번 알아보도록 하겠습니다. class Fruit() { } class Apple() extends Fruit{ } 다음과 같이 Fruit클래스와 이를 상속받는 Apple 클래스가 있습니다. 여태까지 우리는 이를 가지고 객체를 생성할 때 다음과 같이 정의하였습니다. Apple apple = new Apple(); Apple 타입의 ..

추상클래스, 추상메소드

abstract 반환타입 메소드이름(); 추상 메소드(abstract method) 추상 메소드(abstract method)란 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 의미합니다. 자바에서 추상 메소드를 선언하여 사용하는 목적은 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함입니다. 예를 들면 모듈처럼 중복되는 부분이나 공통적인 부분은 미리 다 만들어진 것을 사용하고, 이를 받아 사용하는 쪽에서는 자신에게 필요한 부분만을 재정의하여 사용함으로써 생산성이 향상되고 배포 등이 쉬워지기 때문입니다. 이러한 추상 메소드는 선언부만이 존재하며, 구현부는 작성되어 있지 않습니다. 바로 이 작성되어 있지 않은 구현부를 자식 클래스에서 오버라이딩..

반응형